python-高階語法和除錯
阿新 • • 發佈:2019-02-05
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)