我有一个字典需要在键首次显示时创建一个键并为其添加一个值,稍后,通过将这些值附加到之前的值来保持用值更新键,我想知道怎么做。
outter_dict = defaultdict(dict)
num_index = 100
outter_dict['A'].update({num_index: 1})
outter_dict['A'].update({num_index: 2})
2
会将1
替换为100
内部字典的键outter_dict
的值,但理想情况下,它应该看起来像,
'A': {100:[1,2]}
更新
outter_dict = defaultdict(list)
outter_dict['A'][1].append(2)
但我得到了
IndexError: list index out of range
如果我这样做
dict['A'][1] = list()
在将任何值分配给1
之前,我得到了
IndexError: list assignment index out of range
答案 0 :(得分:2)
您可以使用from collections import defaultdict
d = defaultdict(list)
num_index = 100
d[num_index].append(1)
d[num_index].append(2)
print(dict(d))
:
{100: [1, 2]}
输出:
defautldict(dict)
关于您最近的修改,您希望使用setdefault
和outter_dict = defaultdict(dict)
outter_dict["A"].setdefault(1, []).append(2)
print(dict(outter_dict))
:
{'A': {1: [2]}}
输出:
value