列表的基本操作:元素赋值、元素删除、分片赋值、列表方法。
一、对列表元素重新赋值:
x=[1,2,3,4]
print x
x[1]=0
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 0, 3, 4]
>>>
二、对列表元素删除:
x=[1,2,3,4]
print x
del x[2]
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 2, 4]
>>>
三、分片赋值操作:
3.1 一次为多个元素赋值:
name=list('test')
print name
name[2:]=list('Deng')
print name
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['t', 'e', 's', 't']
['t', 'e', 'D', 'e', 'n', 'g']
>>>
3.2 在不需要替换元素的地方插入新的元素:
name=list('test')
print name
name[1:1]=list('Deng')
print name
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['t', 'e', 's', 't']
['t', 'D', 'e', 'n', 'g', 'e', 's', 't']
>>>
3.3 分片删除元素
x=list('12345678')
print x
x[1:4]=[]
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['1', '2', '3', '4', '5', '6', '7', '8']
['1', '5', '6', '7', '8']
>>>
四、列表方法:
4.1 append函数追加新的元素
lst=[1,2,3,4]
print lst
lst.append(9)
print lst
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 2, 3, 4, 9]
>>>
4.2 count函数统计元素个数:
x=['4','2','1','7','1']
print x.count('1')
x=[[1,2],1,1,[2,1,[1,2]]]
print x.count([1,2])
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
2
1
>>>
4.3 extend函数追加多个元素
x=[1,2,3,4]
print x
y=[5,6,7,8]
x.extend(y)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 2, 3, 4, 5, 6, 7, 8]
>>>
一下方法也可以实现多个元素的追加,但是可读性比extend稍差
x=[1,2,3,4]
print x
y=[5,6,7,8]
x[len(x):]=y
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 2, 3, 4, 5, 6, 7, 8]
>>>
4.4 index函数寻找列表第一个匹配元素的索引位置:
x=[1,2,3,4]
print x.index(4)
#not exist 6
print x.index(6)
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
3
Traceback (most recent call last):
File "C:/Users/Mr_Deng/Desktop/3.py", line 4, in <module>
print x.index(6)
ValueError: 6 is not in list
>>>
4.5 insert函数想列表插入元素对象:
x=[1,2,5,6]
print x
x.insert(2,'test')
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 5, 6]
[1, 2, 'test', 5, 6]
>>>
4.6 pop函数删除列表中的元素:
x=[9,8,1,2,5,6]
print x
x.pop()
print x
x.pop(0)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[9, 8, 1, 2, 5, 6]
[9, 8, 1, 2, 5]
[8, 1, 2, 5]
>>>
注:pop函数默认删除列表中最后一个元素,pop函数是唯一可以既可以修改列表又能返回元素值除了(None)的列表方法。
4.7 remove函数删除列表中第一个匹配项:
x=[9,8,1,2,5,6]
print x
x.remove(1)
print x
x.remove(0)
print x
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[9, 8, 1, 2, 5, 6]
[9, 8, 2, 5, 6]
Traceback (most recent call last):
File "C:/Users/Mr_Deng/Desktop/3.py", line 5, in <module>
x.remove(0)
ValueError: list.remove(x): x not in list
>>>
4.8 reverse函数列表元素反向存放
x=[9,8,1,2,5,6]
print x
x.reverse()
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[9, 8, 1, 2, 5, 6]
[6, 5, 2, 1, 8, 9]
>>>
4.9 sort函数对列表元素排序:
x=[9,8,1,2,5,6]
print x
x.sort()
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[9, 8, 1, 2, 5, 6]
[1, 2, 5, 6, 8, 9]
>>>
注:sort函数可以修改列表但是返回值却是空,意思是不能通过y=x.sort(x)的方式,将列表x排序后的结果赋值给y。若要实现这个功能,可以通过sorted函数来实现。
x=[9,8,1,2,5,6]
y=sorted(x)
print y
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 5, 6, 8, 9]
>>>
4.10 高级排序操作:
参数key作为排序依据
x=['kenan','xinyi','dadi','bob','as']
print x
x.sort(key=len)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['kenan', 'xinyi', 'dadi', 'bob', 'as']
['as', 'bob', 'dadi', 'kenan', 'xinyi']
>>>
参数reverse作为排序依据
x=['kenan','xinyi','dadi','bob','as']
print x
x.sort(reverse=True)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['kenan', 'xinyi', 'dadi', 'bob', 'as']
['xinyi', 'kenan', 'dadi', 'bob', 'as']
>>>
参数cmp作为比较的依据
x=['kenan','xinyi','dadi','bob','as','1']
print x
x.sort(cmp)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['kenan', 'xinyi', 'dadi', 'bob', 'as', '1']
['1', 'as', 'bob', 'dadi', 'kenan', 'xinyi']
>>>