我浏览了一些有关嵌套字典的问题,例如link_a,link_b和link_c。但我似乎找不到解决方案(或者我无法弄清楚)。
因此,我已经有一个字典,格式为:{'key_01': ['value1', 'value2'], key_02: ....}
,直到{_08},其中某些键中的“值”不同。
对于每个value1和value2还有2个其他值,分别是x
和y
,一旦我运行程序,我将在其中获取这些值。
所以我想要的最终输出如下:
{'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,这不是我想要的。而且我知道我不能使用追加。现在我卡住了。
答案 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']