1. 程式人生 > >其他模塊

其他模塊

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 import
deque 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})

其他模塊