collections 集合模組

2022-06-23 15:33:33 字數 1518 閱讀 4240

標準庫 collections 是 python 內建的乙個集合模組,裡面封裝了許多集合類。

collections模組包含了除list、dict、和tuple之外的容器資料型別,如counter、defaultdict、deque、namedtuple、orderdict等。

這個模組實現了特定目標的容器,以提供python標準內建容器 dict , list , set , 和 tuple 的替代選擇。參考python3.8.1文件

類/物件

說明namedtuple()

建立命名元組子類的工廠函式

deque

chainmap

類似字典(dict)的容器類,將多個對映集合到乙個檢視裡面

counter

字典的子類,提供了可雜湊物件的計數功能

ordereddict

字典的子類,儲存了他們被新增的順序

defaultdict

字典的子類,提供了乙個工廠函式,為字典查詢提供乙個預設值

userdict

封裝了字典物件,簡化了字典子類化

userlist

封裝了列表物件,簡化了列表子類化

userstring

封裝了列表物件,簡化了字串子類化

deque 是雙邊佇列(double-ended queue),具有佇列和棧的性質,在 list 的基礎上增加了移動、旋轉和增刪等。deque是通過extend方法初始化集合元素的。

deque(maxlen=n)建立乙個固定長度的佇列。當有新紀錄加入而佇列已滿時會自動移除最老的那條記錄。

d = collections.deque()

說明在最右邊新增乙個元素,此時 d=deque('a')

在最左邊新增乙個元素,此時 d=deque(['b', 'a'])

d.extend(['c','d'])

在最右邊新增所有元素,此時 d=deque(['b', 'a', 'c', 'd'])

d.extendleft(['e','f'])

在最左邊新增所有元素,此時 d=deque(['f', 'e', 'b', 'a', 'c', 'd'])

d.pop()

將最右邊的元素取出,返回 'd',此時 d=deque(['f', 'e', 'b', 'a', 'c'])

d.popleft()

將最左邊的元素取出,返回 'f',此時 d=deque(['e', 'b', 'a', 'c'])

d.rotate(-2)

向左旋轉兩個位置(正數則向右旋轉),此時 d=deque(['a', 'c', 'e', 'b'])

d.count('a')

佇列中'a'的個數,返回 1

d.remove('c')

從佇列中將'c'刪除,此時 d=deque(['a', 'e', 'b'])

d.reverse()

將佇列倒序,此時 d=deque(['b', 'e', 'a'])

deque是執行緒安全的,也就是說你可以同時從deque集合的左邊和右邊進行操作而不會有影響。

List Set集合 Collections工具類

1 list集合 1 list是colleciton介面的乙個子介面,常用的實現類有arraylist linkedlist 2 list集合的特點 1 儲存單個元素,元素可重複,可以儲存多個null 2 儲存有序,存入順序和取出來的順序一致 例如 add 1 add 2 add 3 遍歷列印集合 ...

集合 Collections工具

1.定義 collections是集合類的乙個工具類,它提供了一系列靜態方法用於對容器中的元素進行排序和搜尋等一系列操作。注 collection是乙個集合介面,而collections是乙個有著操作容器的方法的工具類。2.方法 1 reverse list list 使list中的資料發生反轉 1...

collections 模組整理

collections.deque 類 雙向佇列 是乙個執行緒安全 可以快速從兩端新增或者刪除元素的資料型別。而且如果想要有一種資料型別來存放 最近用到的幾個元素 deque 也是乙個很好的選擇。這是因為在新建乙個雙向佇列的時候,你可以指定這個佇列的大小,如果這個佇列滿員了,還可以從反向端刪除過期的...