字典常用,但有些初始化方法因为不经常用就会陌生,这里总结一下。
d = {'k1':1, 'k2':2}
d = dict(k1=1, k2=2)
- 一个包含
tupe
的list
一个应用dd = [('a',1), ('b',2), ('c',3)] dict(dd) >>> {'a': 1, 'b': 2, 'c': 3}
from collections import Counter dict(Counter('aabbbc').most_common()) >>> {'b': 3, 'a': 2, 'c': 1}
- 同理方法3,可以用
zip
处理过的两个list
dd = zip(list('abc'), [1,2,3]) dict(dd) >>> {'a': 1, 'b': 2, 'c': 3}
dict.fromkeys(iterable, value=None, /)
不常用dict.fromkeys(list('abcd'), 1) >>> {'a': 1, 'b': 1, 'c': 1, 'd': 1}
collections
中的defaultdict
,可以设定key
的默认类型。比如设为list
的话,则不必赋予具体的key
而默认每个元素都是一个空的list
。具体的看以下实例吧.from collections import defaultdict d1 = defaultdict(list) d1['a'].append(0) d1['a'].append(1) d1['b'].append(2) d1 >>> defaultdict(list, {'a': [0, 1], 'b': [2]}) from collections import defaultdict d1 = defaultdict(set) d1['a'].add(0) d1['a'].add(0) d1['b'].add(2) d1 >>> defaultdict(set, {'a': {0}, 'b': {2}})
参考博文: