1. collections
在內部資料型別的基礎上,加上collections模組提供的額外資料型別 namedtuple,deque,counter1.1 namedple
命名元祖有助於對元祖的每個位置賦予意義(用來產生使用名稱來訪問元元素的資料物件)
from collections import namedtuple #匯入模組collections中的namedtuple功能
point = namedtuple('
point
',['
x','
y']) #
定義元祖名稱,並對元祖每個元素進行賦予意義
p = point(1,2)
print(p.x)
作用:增加**的可讀性(namedple是函式,不是類)1.2 deque
deque 使用list儲存資料時,按索引訪問資料很快,但是插入和刪除很慢,因為list是線性儲存,資料量很大的時候,插入和刪除的效率很低
deque是為了高效實現插入和刪除操作的雙向列表,適用於佇列和棧
佇列:先進先出 fifo 棧:後進先出 lifo
from collections importdeque
q = deque(['
a','
b','c'
])'x'
)'z'
)print(q)
1.3 counter
計數,統計出現的次數,預設排序,以字典的鍵值對形式儲存,其中元素為key,計數的值為value
from collections importcounter
c = counter('
asdfghjkqgwtezx')
(c)#
結果:counter()
2 shelve
shelve:序列化 基於pickle實現的
importshelve
f = shelve.open('
sss') #
win下生成三個檔案 蘋果下乙個
f['name
'] = 111 #
用字典的方式操作,新增鍵值對,鍵必須用字串的形式 值沒有要求
對比json和pickle,shelve不能進行檢視,將乙個物件持久化的存到檔案中,可直接檢視值得內容
collections 模組整理
collections.deque 類 雙向佇列 是乙個執行緒安全 可以快速從兩端新增或者刪除元素的資料型別。而且如果想要有一種資料型別來存放 最近用到的幾個元素 deque 也是乙個很好的選擇。這是因為在新建乙個雙向佇列的時候,你可以指定這個佇列的大小,如果這個佇列滿員了,還可以從反向端刪除過期的...
簡述模組 collections
collections模組主要封裝了一些關於集合類的相關操作。1.counter 是乙個計數器,主要用來計數。from collections import counter s 湯湯今晚的晚飯有餃子湯 print counter s counter from collections import c...
collections 集合模組
標準庫 collections 是 python 內建的乙個集合模組,裡面封裝了許多集合類。collections模組包含了除list dict 和tuple之外的容器資料型別,如counter defaultdict deque namedtuple orderdict等。這個模組實現了特定目標的...