其他模塊
阿新 • • 發佈:2017-11-14
ict 刪除 輸出結果 方法 str abcd pri 元素 結果
一、collection模塊
在內置數據類型的基礎上(list tuple set dict str),collections模塊提供了如下幾種額外的數據類型:namedtuple deque Counter OrderDict defaultdict
1、namedtuple:生成可以使用名字訪問元素的元組,正常的元組可以通過索引進行取值,但是很難看出元組元素所表示的意義,這就是namedtuple數據類型存在的意義。其用法如下實例:
from collections import namedtuple circle = namedtuple(‘P‘,[‘x‘,‘y‘,‘r‘]) #P可以取任意變量名,無實際用處,但不可或缺 c1 =circle(2,3,5) print(c1.x) print(c1.y) print(c1.r)
2、deque:list可以高效的進行元素查找,但是對於追加和刪除元素比較困難,尤其對於列表較大時,主要是因為列表為單向序列,遵循先進先出原則,只能在列表末尾進行元素的追加(append())和刪除(pop())。而deque就是為了高效解決列表的增加和刪除元素的,除了具有append()和pop()外,還具有appendleft()和popleft()方法,可以在列表的頭部進行元素的增加和刪除。
from collections importdeque q = deque([‘a‘,‘b‘,‘c‘]) q.append(‘x‘) q.appendleft(‘y‘) print(q) #輸出結果為:deque([‘y‘, ‘a‘, ‘b‘, ‘c‘, ‘x‘]) q.pop() print(q) #輸出結果為:deque([‘y‘, ‘a‘, ‘b‘, ‘c‘]) q.popleft() print(q) #輸出結果為:deque([‘a‘, ‘b‘, ‘c‘])
3、Counter:主要用來跟蹤值出現的次數,返回無序的數據類型,用字典鍵值對進行記錄結果,其中元素為key,次數為value。
from collections import Counter c = Counter(‘abcdeabcdabcaba‘) print(c) #輸出結果為:Counter({‘a‘: 5, ‘b‘: 4, ‘c‘: 3, ‘d‘: 2, ‘e‘: 1})
其他模塊