在字典中將鍵對映到多個值上——一鍵多值字典(defaultdict類)
1、希望保留元素插入的順序,就用列表;list
2、希望消除重複元素(且不在意他們的順序),就用集合。set
為了能方便建立這樣的字典,可以利用collection模組中的defaultdict類。defaultdict的特點就是它會自動初始化第一個值,這樣只需關注新增的元素。from collections import defaultdict
d=defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['b'].append(4)
print(d)
結果:defaultdict(<class 'list'>, {'a': [1, 2], 'b': [4]})
from collections import defaultdict
d=defaultdict(set)
d['a'].add(1)
d['a'].add(2)
d['a'].add(2)
d['b'].add(5)
print(d)
結果:defaultdict(<class 'set'>, {'b': {5}, 'a': {1, 2}})
對第一個值做初始化操作:
d=defaultdict(list)
for key ,value in pairs:
d[key].append(value)