python字典更新/附加键的值作为列表

时间:2017-11-07 15:11:13

标签: python python-3.x dictionary

我有一个字典需要在键首次显示时创建一个键并为其添加一个值,稍后,通过将这些值附加到之前的值来保持用值更新键,我想知道怎么做。

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

1 个答案:

答案 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)

关于您最近的修改,您希望使用setdefaultoutter_dict = defaultdict(dict) outter_dict["A"].setdefault(1, []).append(2) print(dict(outter_dict))

{'A': {1: [2]}}

输出:

value