1、创建空列表
a = [ [ ] for i in range(5)]
b = [ [ ] ] * 5
a中的五个空列表,分别指向不同的对象;
b中的五个空列表,指向同一个对象;
2、列表的复制
a = [1,2,3,4,5]
b = a
a和b指向了同一个对象,改变a(或b),b(或a)也跟着改变
列表深拷贝的3中方法:
a = [1,2,3,4,5]
b = list(a)
调用copy模块
用列表的切片实现列表复制
3、all() 和 any()
all -----True if every value is True
any -----True if at least 1 value is True
not all -----True if at least 1 value is False
not any-----True if every value is False
4、itertools模块的使用
a = [0,1,2]
b = [3,4]
for i in a+b:
print(i)
使用" + "会复制列表,生成新的列表,当列表非常大的时候,操作不可行
可以使用itertools模块
5、zip()函数和zip分解
a = [0,1,2]
b = [3,4,5]
c = [6,7,8]
d = zip(a,b,c)
e,f,g = zip(*d)
6、列表操作" + " 和extend的区别
+ : 产生一个新的列表,不改变原列表
extend:追加列表,不产生新列表,改变原列表,extend的参数必须是可迭代的
7、转换矩阵
a = [[0,1,2], [3,4,5], [6,7,8]]
b = zip(*a)
8、列表的count方法
a = [1,2,3,1]
print(a.count(1)) #2
9、列表排序
a = [3,2,1]
①:a.sort()
改变原列表,即a = [1,2,3]
②:b = sorted(a)
复制一个新的列表,不改变原列表
sorted关键字排序
10、列表中插入一个或者多个元素
11、从列表中删除元素
del、pop
12、反转一个列表
a = [1,3,2]
①:a.reverse()
改变原列表
②:reversed(a)
不改变原列表
13、列表元素去重
① a = [1,2,3,1,2]
b = list(set(a))
不保证原列表的元素顺序