python中的技巧——杂记
杂记
zip的用法
对于 a = [1,2,3]
b = [3,2,1]
若要同时遍历
for x, y in zip(a, b):
pass
zip(a, b)=> [(1,2,3),(3,2,1)]
数组复制,以及排序的细节
a = [1,2,3] b = a a.sort() b会随着a一起变化 可以令b = a[:] 就ok了
a.sort()a的内容会改变
b = sorted(a)
用着个Python的内置函数,可以不改变原数组的顺序
自定义排序
sorted(people, key=lambda x:(-x[0],x[1]))
说实话不是很会用前面 key=lambda x:() 是固定用法,其中x是随便输的,就代表待排序的序列的一项
()中的内容,表示优先级且依次向后降低
例如people为[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]
先让每一项的一个元素从高到低排列,若一致的按照第二项从低到高排列
输出应该是[[7, 0], [7, 1], [6, 1], [5, 0], [5, 2], [4, 4]]
这个功能很玄学,不是很懂
集合运算
这个还是很方便的,但是目前还没用过
1.定义一个集合
1.对于一个列表 a = []
set(a)转换为集合,会自动删除重复元素
2.new一个集合
a = set()
2.添加元素
a.add(e)
3.移除元素
1.若不存在会报错
a.remove(e)
2.若不存在不会报错
a.discard(e)
字典推导、集合推导