【问题标题】:How to append multiple key and value into a nested dictionary using python?如何使用python将多个键和值附加到嵌套字典中?
【发布时间】:2020-08-27 03:38:46
【问题描述】:

我查看了一些关于嵌套字典的问题,例如 link_alink_blink_c。但我似乎无法找到解决方案(或者我无法弄清楚)。 所以我已经有一个格式如下的字典:{'key_01': ['value1', 'value2'], key_02: ....} 一直到 key_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,这不是我想要的。而且我知道我不能使用附加。现在我卡住了。

【问题讨论】:

    标签: python dictionary nested


    【解决方案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
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      每对 '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']
      

      【讨论】:

      • 我对 dict 中的 dict 做了一些研究,似乎我得到了我想要的格式。但它似乎没有附加第二个值(value2)。我会在更新中分享我的代码。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      • 2018-06-27
      • 1970-01-01
      • 2020-04-27
      • 2014-04-22
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多