簡體   English   中英

將字典列表轉換為字典python3的字典

[英]convert a list of dicts to a dict of dicts python3

我有一個看起來像這樣的字典

a = [{'name': 'analyst21', 'id': 1, 'data': 'the process data3'}, {'name': 'analyst2', 'id': 2, 'data': 'process data2'}, {'name': 'analyst3', 'id': 3, 'data': 'process data3'}]

我想將其轉換為字典

要求的輸出:

a = {{'name': 'analyst21', 'id': 1, 'data': 'the process data3'}, {'name': 'analyst2', 'id': 2, 'data': 'process data2'}, {'name': 'analyst3', 'id': 3, 'data': 'process data3'}}

我知道字典需要鍵值對。 還有其他方法使之成為可能。 是我的問題是錯誤的。 得到了一些反對票。 我只希望列表數據包含在此{}中。 我將這些結果用於進一步處理。

Python dict 是鍵值結構 您所需的輸出不是字典-字典必須同時具有鍵和相應的值(或為空)。 如果要將字典列表轉換為字典,請選擇某種可哈希鍵(請注意,字典本身不可哈希,因此不能將普通字典用作鍵!)並將其用作字典鍵。 這是如何執行此示例:

a = [{'name': 'analyst21', 'id': 1, 'data': 'the process data3'},
     {'name': 'analyst2', 'id': 2, 'data': 'process data2'},
     {'name': 'analyst3', 'id': 3, 'data': 'process data3'}]

b = {d['name']: d for d in a}
b

將返回您的字典:

{'analyst2': {'data': 'process data2', 'id': 2, 'name': 'analyst2'},
 'analyst21': {'data': 'the process data3', 'id': 1, 'name': 'analyst21'},
 'analyst3': {'data': 'process data3', 'id': 3, 'name': 'analyst3'}}

暫無
暫無

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

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