我有以下字典:
my_list =_list = [
{"a": 1, "id": 1}, {"a": 2, "id": 1},
{"a": 3, "id": 2}, {"a": 4, "id": 2}
]
我怎樣才能得到這個輸出 ("id.value": [values of "a"]
{"1": [1, 2], "2": [3, 4]}
我試過這個:
dic={}
li=[]
for item in my_list:
li.append(item['a'])
dic["id"] = 1
dic["a"] = li
uj5u.com熱心網友回復:
我不確定這是否過于復雜/如果您正在尋找單線,但這是我將采取的方法:
創建一個唯一的 id 串列:
my_list = [{"a": 1, "id": 1}, {"a": 2, "id": 1},{"a": 3, "id": 2}, {"a": 4, "id": 2} ]
unique_id = set([dictionary["id"] for dictionary in my_list])
然后創建一個空字典,遍歷您的 id,然后遍歷每個 id 的字典串列,如果該字典具有正確的 id,則將“a”值附加到臨時串列,然后將其設定為空字典:
bind = {}
for id in unique_id:
tmp = []
for dictionary in my_list:
if dictionary["id"] == id:
tmp.append(dictionary["a"])
bind[id] = tmp
這給了我想要的輸出:
>>> bind
{1: [1, 2], 2: [3, 4]}
uj5u.com熱心網友回復:
首先更正字典中的逗號。
my_dic = {}
for i in my_list:
if i["id"] in my_dic:
my_dic[i["id"]].append(i["a"])
else:
my_dic[i["id"]]=[i["a"]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/409735.html
標籤:
