版权声明:转载注明出处 https://blog.csdn.net/qq_19428987/article/details/87019117
- zip
把两个可迭代的内容生成一个可迭代的tuple元素类型组成的内容name=["A","B","C"] source=[50,70,90] grade=zip(name,source) for i in grade: print(i) >>>('A', 50) ('B', 70) ('C', 90)
- enumerate(可迭代对象,startindex=0)
功能和zip功能类似,对可迭代对象的每一个元素配上一个索引,然后索引和内容构成tuple类型(索引默认从0开始)name=["A","B","C"] em =enumerate(name,start=1) out=[i for i in em] print(out) >>>[(1, 'A'), (2, 'B'), (3, 'C')]
collections模块
-
namedtuple (类似C#中定义类)
import collections Vector2=collections.namedtuple("Vector2",['x','y']) point=Vector2(2,5) print(point) >>>Vector2(x=2, y=5)
-
dequene
比较方便的解决频繁的删除和插入带来的效率问题from collections import deque q=deque(['a','b','c']) q.append('d') print(q) q.appendleft('x') print(q) >>>deque(['a', 'b', 'c', 'd']) deque(['x', 'a', 'b', 'c', 'd'])
-
defaultdict
当在字典中访问不存在的键值时,会返回默认值from collections import defaultdict func=lambda :"Null" d=defaultdict(func) d["one"]=1 print(d["two"]) >>>Null