我想用相同键值对中的值替换目录中的键值对。简而言之,我要替换
{k1:{key1:value1},k2:{Key2:value2}} with {k1:value1,k2:value2}
简单地说:{key1:value1}
替换为value1
My input is {'times': {0: 3284566678.449864},
'C0PLUSA': {0: 2.4529042386185244e-06},
'C1PLUSA': {0: 2.215571719760855e-06},
'I0PLUSA': {0: 1200.000000000029},
'M1BA': {0: 1.1971391933999447e-05},
'M1DA': {0: 2.5217060699404884e-06},
'M1GA': {0: 1.0922075194286918e-05},
'M1SA': {0: 0.0006776339108859284},
'M2BA': {0: 1.7152638293476106e-05}}
代码:
for i, key,value in a.items:
a[key][value]=value.values()
但是我收到一个错误消息,说该对象不可迭代。
for node,value in a.items():
a = a.replace(node.values(),value.values())
但是它仍然给我一个错误 我期望得到的输出为
{'times':3284566678.449864,
'C0PLUSA': 2.4529042386185244e-06,
'C1PLUSA': 2.215571719760855e-06,
'I0PLUSA': 1200.000000000029,
'M1BA': 1.1971391933999447e-05,
'M1DA': 2.5217060699404884e-06,
'M1GA': 1.0922075194286918e-05,
'M1SA': 0.0006776339108859284,
'M2BA': 1.7152638293476106e-05}
答案 0 :(得分:0)
如果内部词典中的所有键都是0
,则可以执行以下操作:
{k:v[0] for k,v in data.items()}
如果您想在不知道值的情况下忽略内部字典的键,则可以查看此示例的工作方式:
>>> data={'k1': {'key1': 'value1'}, 'k2': {'key2': 'value2'}}
>>> {k:list(v.values())[0] for k,v in data.items()}
{'k1': 'value1', 'k2': 'value2'}