collections 模塊為內置容器數據類型(如 list、tuple 和 dict)提供了替代方案。
namedtuple()
namedtuple()
函數返回一個帶有命名欄位的類似元組的對象。這些欄位屬性可以通過查找和索引來訪問。
該功能的一般用法是:
Signature:
collections.namedtuple(type_name, field-list)
下面的語句聲明了一個學生類,該類以姓名、年齡和標記作為欄位。
Example: Declare a Named Tuple
>>> import collections
>>> student = collections.namedtuple('student', [name, age, marks])
要創建此名稱的新對象,請執行以下操作:
Example: Create Object of Named Tuple
>>> s1 = student("Imran", 21, 98)
屬性查找可以訪問欄位的值:
Example: Access Named Tuple
>>> s1.name
'Imran'
或者通過索引:
Example: Access Named Tuple
>>>s1[0]
'Imran'
OrderedDict()
OrderedDict()
函數類似於 Python 中的普通字典對象。但是,它會記住首次插入鍵的順序。
Example: Ordered Dictionary
import collections
d1 = collections.OrderedDict()
d1['A'] = 65
d1['C'] = 67
d1['B'] = 66
d1['D'] = 68
for k,v in d1.items():
print (k,v)
Output
A 65
C 67
B 66
D 68
在遍歷字典時,對將按照它們插入的順序出現。
德格()
deque 對象支持從列表的任一端追加和彈出。它比普通的列表對象更節省內存。在普通列表對象中,刪除任何項目都會導致右側的所有項目向左移動一個索引。因此,它非常慢。
Example: Deque
>>> q=collections.deque([10,20,30,40])
>>> q.appendleft(0)
>>> q
deque([0, 10, 20, 30, 40])
>>> q.append(50)
>>> q
deque([0, 10, 20, 30, 40, 50])
>>>q.pop()
50
>>> q
deque([0, 10, 20, 30, 40])
>>> q.popleft()
0
>>> q
deque([10, 20, 30, 40])
了解 Python 文檔中collections
模塊的更多信息。**
原創文章,作者:FDANX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317644.html