zip
-把两个可迭代的内容生成一个可迭代的tuple元素类型组成的内容
l1=[1,2,3,4,5]
l2=[11,22,33,44,55]
z=zip(l1,l2)
print(type(z))
print(z)
for i in z:
print(i)
l1=["dd","ff","zz"]
l2=[12,13,14]
z=zip(l1,l2)
for i in z:
print(i)
l3=[i for i in z]
print(l3)
enumerate
-跟zip功能比较像
-对可迭代对象里的每一个元素,配上一个索引,然后索引和内容构成tuple类型
l1=[11,22,33,44,55]
em=enumerate(l1)
l2=[i for i in em]
print(l2)
em=enumerate(l1,start=100)
l2=[i for i in em]
print(l2)
collections模块
-namedtuple
·tuple类型 ·是一个可命名的tuple
import collections
Point=collections.namedtuple("Point",['x','y'])
p=Point(11,22)
print(p.x)
print(p[0])
import collections
help(collections.namedtuple)
Circle=collections.namedtuple("Circle",['x','y','r'])
c=Circle(100,150,50)
print(c)
print(type(c))
isinstance(c,tuple)
-dequeue
·比较方便的解决了频繁插入带来的效率问题
from collections import deque
q=deque(['a','b','c'])
print(q)
q.append("d")
print(q)
q.appendleft('x')
print(q)
#defaultdict
#当直接读取dict不存在的属性时,直接返回默认值
dl={"one":1,"two":2,"three":3}
print(dl['one'])
from collections import defaultdict
func=lambda:"dd"
d2=defaultdict(func)
d2["one"]=1
d2["two"]=2
print(d2)
counter
-统计字符串个数
from collections import Counter
c=Counter("svdfsvvsdv,sfv;dcsvv;sdfdfvvtrg;ev")
print(c)
s=["dc","fr","bg","dc","dc","bg"]
c=Counter(s)
print(c)