列表的增删改查

一、列表的增

1、列表的增加append(在列表最后的位置添加元素):在元列表上进行增加。

a=['alix','wusir','xiaofang']
a.append('laozi')
print(a)
#结果 ['alix','wusir','xiaofang','laozi']
复制代码
a=['alix','wusir','xiaofang']
while True:
    username=input('请输入员工姓名:')
    if username.lower()=='q':
        print('退出成功!')
        break
    else:
        a.append(username)
        print(a)

# 请输入员工姓名:ksdh
# ['alix', 'wusir', 'xiaofang', 'ksdh']
# 请输入员工姓名:q
# 退出成功!
复制代码

2、lnsert插入,可以在任意位置插入元素。

  insert(index,p_object)

a=['taibai','jinxin','wusir']
a.insert(1,'太亮')
print(a)

#结果  ['taibai', '太亮', 'jinxin', 'wusir'] 

 3、extend():迭代的添加,加入列表的最后

其中iterable(可迭代的)

复制代码
a=['taibai','jinxin','wusir']
a.extend('太亮')
b=['taibai','太亮','wusir']
b.extend(['金星'])
print(a)
print(b)

#['taibai', 'jinxin', 'wusir', '太', '亮']
# ['taibai', '太亮', 'wusir', '金星']
复制代码

如果extend()添加的是字符串,则字符串中的每个元素都会被拆分成单个的元素添加到目的列表中;

如果extend()添加的是列表,则该列表会被当做一个整体添加到目的列表中成为目的列表中的一个元素。

二、删除

1、pop 按照索引去删除,有返回值。

复制代码
a=['taibai', '太亮', 'wusir', '金星']
name=a.pop(2)
print(name)
print(a)

# wusir
# ['taibai', '太亮', '金星']
复制代码

删除的是a[2]=‘wusir’,返回值是wusir 

2、remove() 按元素来删除,但是没有返回值

复制代码
a=['taibai', '太亮', 'wusir', '金星']
name=a.remove('taibai')
print(name)
print(a)

# None
# ['太亮', 'wusir', '金星']
复制代码

由于remove()没有返回值,则输出name时得到的是0。

3、clear() 清空列表,将列表变成空列表。

a=['taibai', '太亮', 'wusir', '金星']
a.clear()
print(a)

#[]

独立为一条语句,列表在进行clear()操作之后返回的是一个空列表,列表还在。

4、del() 可以按照索引删除;也可以按照切片删除,可加步长。但是没有返回值。

①可以按照索引删除。

a=['alix','taibai','tailiang','wusir']
del a[3]
print(a)

# ['alix', 'taibai', 'tailiang']

②可以按照切片删除,也可以加步长。

b=['alix','taibai','tailiang','wusir']
del b[1:3]
print(b)

# ['alix', 'wusir']

三、修改列表

1、按照索引改:适用于修改单个元素的列表中。

a=['alix','taibai','tailiang','wusir']
a[3]='亮亮'
print(a)

#['alix', 'taibai', 'tailiang', '亮亮']

2、按照切片进行修改:先删除,之后迭代着添加。

a=['alix','taibai','tailiang','wusir']
a[1:3]='都是一个人'
print(a)

#['alix', '都', '是', '一', '个', '人', 'wusir']

该段代码是将列表中的a[1],a[2]先删除,之后将'都是一个人'从a[1]迭代着添加到列表a当中。

a=['alix','taibai','tailiang','wusir']
a[1:3]=['都是一个人']
print(a)

#['alix', '都是一个人', 'wusir']

该段代码是将a[1],a[2]现删除,之后将列表['都是一个人']添加到a[1]的位置。

a=['alix','taibai','tailiang','wusir']
a[1:3]=['都是一个人','性别都一样','都是女的']
print(a)

#['alix', '都是一个人', '性别都一样', '都是女的', 'wusir']

四、查

复制代码
a=['alix', 'taibai', 'tailiang','wusir']
for i in a:
    print(i)

# alix
# taibai
# tailiang
# wusir
复制代码

五、列表的嵌套:列表可以被更改,字符串不可以被更改。

列表的嵌套:

复制代码
a=['alix', 'taibai',[1,2,3,'yanger,old'], 'tailiang','wusir']
print(a[2])
print(a[2][2])

# [1, 2, 3, 'yanger,old']
# 3
复制代码

 

 将列表li的元素'yuanhao'的首字母变成大写,由于字符串不能被更改就只能将'yuanhao'提出之后形成一个新的首字母为大写的'Yuanhao',之后再赋值给li[4]。

复制代码
li=[1,2,3,'taibai','yuanhao',[1,'alix',3],True]
print(li[3])  # taibai
print(li[5][1])  # alix
s=li[4].capitalize()
li[4]=s
print(li) # [1, 2, 3, 'taibai', 'Yuanhao', [1, 'alix', 3], True]
复制代码

将li[4]中的'yuanhao'中的hao用'日天'来代替,由于'yuanhao'是字符串不能更改,所以只能是先提出li[4],之后形成一个新的字符串,将新的字符串赋值给li[4]。

复制代码
li=[1,2,3,'taibai','yuanhao',[1,'alix',3],True]
s2=li[4].replace('hao','日天')
li[4]=s2
print(li)

#[1, 2, 3, 'taibai', 'yuan日天', [1, 'alix', 3], True]
复制代码

对列表中的字符串进行'修改'和对列表中的元素进行修改。

复制代码
li=[1,2,3,'taibai','yuanhao',[1,'alix',3],True]
s2=li[4].replace('hao','日天')
li[4]=s2
li[4]=li[4][0:4]+'ritian'
print(li) # [1, 2, 3, 'taibai', 'yuanritian', [1, 'alix', 3], True]
li[5][0]='文杰'
print(li) # [1, 2, 3, 'taibai', 'yuanritian', ['文杰', 'alix', 3], True]
li[5][1]=li[5][1].upper()
print(li) # [1, 2, 3, 'taibai', 'yuanritian', ['文杰', 'ALIX', 3], True]
复制代码

其他方法:

1、计数 count()

li=[1,2,3,'taibai','yuanhao',[1,'alix',3],True]
print(li.count('fsh'))  # 0
print(li.count(1))  # 2

2、排序

正排序:sort()

a=[1,2,3,7,4,8,0,3,9]
a.sort()
print(a)

#[0, 1, 2, 3, 3, 4, 7, 8, 9]

反转:reverse()  不排序,只是将原有列表中的元素按照与原来顺序相反的方式输出。

a=[1,2,3,7,4,8,0,3,9]
a.reverse()
print(a)

#[9, 3, 0, 8, 4, 7, 3, 2, 1]

例题:倒序排序

复制代码
a=[1,2,3,7,4,8,0,3,9]
a.sort()
a.reverse()
print(a)

#[9, 8, 7, 4, 3, 3, 2, 1, 0]
复制代码

也可以一步到位:

a=[1,2,3,7,4,8,0,3,9]
a.sort(reverse=True)
print(a)

#[9, 8, 7, 4, 3, 3, 2, 1, 0]

元组 tupe():是不可变的,只能读不能改。

posted @ 2017-10-24 22:12  巡山的小钻风  阅读(216)  评论(0编辑  收藏  举报