簡體   English   中英

如何用來自同一鍵值對的值替換嵌套字典中的鍵值對?

[英]How to replace a key-value pair in a nested dictionary with the value from the same key-value pair?

我想用來自同一鍵值對的值替換目錄中的鍵值對。 簡單來說,我想替換

{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你可以這樣做:

{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'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM