1、深入列表
1.1 list列表
array=[1,2,3,4,5]
array.append(x):追加
array.extend(L),追加列表
array.insert(i, x)在i位置插入x
array.remove(x)删除值为x的元素
array.pop([i]),[i]表示参数可选,不使用则pop最后的数据,输入表示删除具体位置的数据
array.index(x)返回x的索引值
array.count(x)统计值为x的个数
array.sort()排序
array.reverse()。将列表倒过来
1.2 deque列表
from collections import deque
方便两边插入和删除
queue = deque(["a", "b", "c"])
queue.append(x)
queue.appendleft()
queue.pop()
quque.popleft()
1.3 列表推导式
squares=[x**2 for x in range(10)]
x**2表示x的平法,得到的值是0,1,4,9,...81
再复杂一点的
[(x,y) for x in [1,2,3] for y in [3,1,3] if x!=y]
x和y的组合,并且x不等于y
多层矩阵
matrix = [ [1,2,3,4], [5,6,7,8],[9,10,11,12] ]
[[row[i] for row in matrix] for i in range(4)]
得到的值
[[1,5,9],[2,6,10],...[4,8,12]]
分析for row in matrix遍历matrix的count的次数,每次row会自动被赋值为matrx[i]
tmp2 = []
for i in range(4):
tmp = []
for row in matrix:
tmp.append(row[i) // 每次for循环row都会变化为matrix[i],而row[i]相当于matrx[0][i],[1][i],就像上面的i第一次是0,第二次是1
temp2.append(tmp)
1.4 del语句
array = [1,2,3,4,5,6]
del array[0]
del array[1:3]
delete array:表示删除了这个对象,再使用这个对象会报错的
2 元组
t = 1,2,3
元组与列表很像
t
(1,2,3)
得到的值会使用括号的,我们也可以在赋值的时候加上括号
u = t, 4,5,6
得到的值是((1,2,3),4,5,6)
u=t,(4,5,6)
得到的值是((1,2,3),(4,5,6))
可以反着赋值:x,y,z=t
赋值为空t = ()
3、集合
set,无序不重复元素,赋值方式有两种,大括号,list是中括号
testset = {"a","b","c"}
testset2=set("abc")
testset3=set("aef")
"a" in testset返回为true
testset2-testset3返回为"b", "c"
&,|,等都可以操作
4、字典
即map,赋值
tel={"jack":100,"tmo":200}
tel["jack"]
del tel["jack']
tel["jack"]=300
list(tel.keys()):把所有key值存储在list中
sorted(tel.keys())
"a" in tel
"a" not in tel
dict相当于构造函数,可以帮忙构造map对象
dict(["a",1],["b",2])
dict("a"=1,"b"=2)