如何使用python将多个键和值附加到嵌套字典中?

时间:2020-08-27 03:38:46

标签: python dictionary nested

我浏览了一些有关嵌套字典的问题,例如link_alink_blink_c。但我似乎找不到解决方案(或者我无法弄清楚)。 因此,我已经有一个字典,格式为:{'key_01': ['value1', 'value2'], key_02: ....},直到{_08},其中某些键中的“值”不同。

对于每个value1和value2还有2个其他值,分别是xy,一旦我运行程序,我将在其中获取这些值。

所以我想要的最终输出如下:

{'key_01': 
   ['value1' : 
     ['x': 2], 
     ['y': 3]], 
   ['value2': 
     ['x': 2], 
     ['y': 3]], ....}

这是我尝试使用此tutorial添加到字典中的方法之一:

x = 5
for i in range(len(demo_dict['key_01'])):
    for val in demo_dict['key_01']:
        demo_dict['key_01'][0] = x

但是它将value1更改为5,这不是我想要的。而且我知道我不能使用追加。现在我卡住了。

2 个答案:

答案 0 :(得分:1)

我相信您需要

data = {'key_01': ['value1', 'value2'], key_02: ....} 
result = {}
for k, v in data.items():
    for i in v:
        result.setdefault(k, {}).update({'v': {'x': x, 'y': y}}) 

输出:

{'key_01': {
    'v': {
        'x': x, 
        'y': y
        }
    }
}

答案 1 :(得分:0)

每对'key':value应该在字典中,例如:

dict = {'key_01':[
          {'value1':{'x': 2,'y': 3}, 
           'value2':{'x': 2,'y': 3}, 
           'value3': ....]}

因此key_01有一个字典value1,value2,value3的列表,其中每个字典都有一个x和y的字典。

通过这种方式,您可以将'x'和'y'值访问为

dict['value_01']['value1']['x'] and dict['value_01']['value1']['x']