簡體   English   中英

具有多個鍵值對的字典列表

[英]Flatten list of dictionaries with multiple key, value pairs

我有一個字典列表,每個字典都有多個 KVP

list_dict = [{'id': 1, 'name': 'sana'}, {'id': 2, 'name': 'art'}, {'id': 3, 'name': 'tiara'}]

我想將其轉換為這種格式:

final_dict = {1: 'sana', 2: 'art', 3: 'tiara'}

我一直在嘗試dict理解,但它不起作用。 這是我能做的最好的:

{k:v for d in list_dict for k, v in d.items()}

你不需要d.items() ,你可以只訪問每個字典的idname屬性。

{d['id']: d['name'] for d in list_dict}

對於列表中的每個元素,您希望d["id"]成為鍵, d["name"]成為值,因此字典理解將如下所示:

{d["id"]: d["name"] for d in list_dict}

你可以試試

final_dict={} 
for dico in list_dict:
    final_dict[dico['id']] = dico['name'] 

可能有幾種不同的方法可以做到這一點。 這是使用 pandas dataframe 執行此操作的一種非常簡單的方法:

import pandas as pd
df = pd.DataFrame(list_dict) # <- convert to dataframe
df = df.set_index('id') # <- set the index to the field you want as the key
final_dict = df['name'].to_dict() # <- convert the series 'name' to a dict
print(final_dict)

{1: 'sana', 2: 'art', 3: 'tiara'}

暫無
暫無

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

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