"""先定义一个字典,然后把defaultdict(list)赋值给字典,字典会被覆盖"""from collections import defaultdict
d={'a':[1,2,3],'b':[4,5]}print(d)
{'a': [1, 2, 3], 'b': [4, 5]}
d=defaultdict(list)print(d)
defaultdict(<class 'list'>, {})
"""先定义defaultdict(list),然后再把字典赋值,defaultdict也会被覆盖"""from collections import defaultdict
d=defaultdict(list)d={'a':[1,2,3],'b':[4,5]}print(d)
{'a': [1, 2, 3], 'b': [4, 5]}
print(d['a'])print(d)print(d['c'])
[1, 2, 3]{'a': [1, 2, 3], 'b': [4, 5]}---------------------------------------------------------------------------KeyError Traceback (most recent call last)<ipython-input-334-d7deff4162bb> in <module>() 1 print(d['a']) 2 print(d)----> 3 print(d['c'])
KeyError: 'c'
"""实现动态添加键值功能"""from collections import defaultdict
d=defaultdict(list)print(d)
defaultdict(<class 'list'>, {})
"""第一次运行以下代码块"""d['a'].append("python")print(d)print(d['a'])print(d['c'])
输出结果:defaultdict(<class 'list'>, {'a': ['python']})['python'][]
"""第二次运行以上代码块"""输出结果:defaultdict(<class 'list'>, {'a': ['python', 'python'], 'c': []})['python', 'python'][]
"""第三次运行该代码块,并为c赋值"""d['a'].append("python")d['c'].append("java")print(d)print(d['a'])print(d['c'])
输出结果:defaultdict(<class 'list'>, {'a': ['python', 'python', 'python'], 'c': ['java']})['python', 'python', 'python']['java']
评论