使用len()方法。
二、list的拷贝 1.1 非拷贝(直接赋值)如果使用=直接赋值,那么此时两个列表共享同一块内存空间,即修改其中任何一个列表都会影响另外一个。
1.2 浅拷贝列表生成式
使用列表生成式产生新列表是一种浅拷贝方法,只对第一层实现深拷贝。
old=[1,[1,2,3],3]
new=[i for i in old]
print('before')
print('old:',old)
print('new:',new)
new[0]=3
new[1][0]=3
print('after')
print('old:',old)
print('new:',new)
输出:
before old: [1, [1, 2, 3], 3] new: [1, [1, 2, 3], 3] after old: [1, [3, 2, 3], 3] new: [3, [3, 2, 3], 3]
for循环遍历
通过for循环遍历,将元素一个一个添加到新list中,这同样是一个浅拷贝方法,只对第一层实现深拷贝
old=[1,[1,2,3],3]
new=[]
for i in range(len(old)):
new.append(old[i])
print('before')
print('old:',old)
print('new:',new)
new[0]=3
new[1][0]=3
print('after')
print('old:',old)
print('new:',new)
输出:
before old: [1, [1, 2, 3], 3] new: [1, [1, 2, 3], 3] after old: [1, [3, 2, 3], 3] new: [3, [3, 2, 3], 3]
使用切片
使用[:]进行切片,可以浅拷贝整个列表,同样的,只对第一层实现深拷贝:
old=[1,[1,2,3],3]
new=old[:]
print('before')
print('old:',old)
print('new:',new)
new[0]=3
new[1][0]=3
print('after')
print('old:',old)
print('new:',new)
输出:
before old: [1, [1, 2, 3], 3] new: [1, [1, 2, 3], 3] after old: [1, [3, 2, 3], 3] new: [3, [3, 2, 3], 3]1.3 深拷贝
如果用deepcopy()方法,则无论多少层,无论怎样的形式,得到的列表都是和原来无关的,注意采用这种方式时需要import copy
import copy
old=[1,[1,2,3],3]
new=copy.deepcopy(old)
print('before')
print('old:',old)
print('new:',new)
new[0]=3
new[1][0]=3
print('after')
print('old:',old)
print('new:',new)
输出:
before old: [1, [1, 2, 3], 3] new: [1, [1, 2, 3], 3] after old: [1, [1, 2, 3], 3] new: [3, [3, 2, 3], 3]三、删除某个元素 3.1 remove
删除单个元素,删除首个符合条件的元素,按值删除
使用例子:
l=[1,2,3,4,5,2,6] l.remove(2) print(l)
输出:
[1, 3, 4, 5, 2, 6]3.2 pop
删除单个或多个元素,按位(索引)进行删除
l=[0,1,2,3,4,5,6] print(l.pop(1)) print(l)
输出:
1 [0, 2, 3, 4, 5, 6]3.3 del
根据索引(元素所在位置)来删除
l=[1,2,3,4,5,2,6] del(l[1]) print(l)
输出:
[1, 3, 4, 5, 2, 6]
删除指定范围内的值:
l=[1,2,3,4,5,2,6] del(l[2:4]) print(l)
输出:
[1, 2, 5, 2, 6]



