Python模組之collections
阿新 • • 發佈:2018-12-19
Python擁有一些內建的資料型別,比如str, int, list, tuple, dict等, collections模組在這些內建資料型別的基礎上,提供了幾個額外的資料型別:
- namedtuple(): 生成可以使用名字來訪問元素內容的tuple子類
- deque: 雙端佇列,可以快速的從另外一側追加和推出物件
- Counter: 計數器,主要用來計數
- OrderedDict: 有序字典
- defaultdict: 帶有預設值的字典
1.OrderedDict
在Python中,dict這個資料結構由於hash的特性,是無序的,這在有的時候會給我們帶來一些麻煩, 幸運的是,collections模組為我們提供了OrderedDict,當你要獲得一個有序的字典物件時,用它就對了。
栗子:
# -*- coding: utf-8 -*- from collections import OrderedDict items = ( ('A', 1), ('B', 2), ('C', 3) ) regular_dict = dict(items) ordered_dict = OrderedDict(items) print 'Regular Dict:' for k, v in regular_dict.items(): print k, v print 'Ordered Dict:' for k, v in ordered_dict.items(): print k, v # Result: Regular Dict: A 1 C 3 B 2 Ordered Dict: A 1 B 2 C 3