my_list = [ [1,2], [2,3], [3,4] ]
# my attempt
output = { {'a':k[0], 'b':k[1]} for k in my_list }
#desired output
[ {a:1, b:2}, {a:2, b:3}, {a:3,b:4} ]
有沒有辦法讓字典理解返回一個字典,與多個鍵?返回從字典理解嵌套列表的字典
my_list = [ [1,2], [2,3], [3,4] ]
# my attempt
output = { {'a':k[0], 'b':k[1]} for k in my_list }
#desired output
[ {a:1, b:2}, {a:2, b:3}, {a:3,b:4} ]
有沒有辦法讓字典理解返回一個字典,與多個鍵?返回從字典理解嵌套列表的字典
也許你想做到這一點:
output = [ {'a':k[0], 'b':k[1]} for k in my_list ]
# ^ ^
我們稱之爲列表理解Python編寫的。
你的外部結構應該是你的輸出列表,你被錯誤地嘗試執行一套理解,而不是一個列表理解。這會失敗,因爲set元素必須是可散列的,並且字典不是可變的。另外,在這種情況下,您可以將列表項解包得更清楚。
>>> [dict(a=x, b=y) for x, y in my_list]
[{'a': 1, 'b': 2}, {'a': 2, 'b': 3}, {'a': 3, 'b': 4}]
my_list = [ [1,2], [2,3], [3,4] ]
[dict(zip(['a', 'b'], x)) for x in my_list]
你需要一個列表理解代替字典排版'[{ 'A':K [0], 'B':K [1]}對於k在my_list]'由於最後的輸出是一個列表。 – Psidom