簡體   English   中英

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

[英]Convert list of lists to list of dictionaries

我想將列表列表轉換為字典列表。 我有辦法做到這一點,但我懷疑有更好的方法:

t = [[1,2,3], [4,5,6]]
keys = ['a', 'b', 'c']
[{keys[0]:l[0], keys[1]:l[1], keys[2]:l[2]} for l in t]

帶輸出

[{'a': 1, 'c': 3, 'b': 2}, {'a': 4, 'c': 6, 'b': 5}]

這可以通過循環來完成,但我敢打賭有一個函數可以更容易地做到這一點。 這個答案我猜有一種方法可以使用map命令來做到這一點,但我不太確定如何。

您可以將列表推導與dict()構造函數和zip

[dict(zip(keys, l)) for l in t ]

演示

>>> d = [dict(zip(keys, l)) for l in t ]
>>>
>>> d
[{'a': 1, 'c': 3, 'b': 2}, {'a': 4, 'c': 6, 'b': 5}]
>>> 

它也可以通過字典理解來解決,這樣:

>>> [{k:v for k,v in zip(keys, l)} for l in t]
[{'c': 3, 'b': 2, 'a': 1}, {'c': 6, 'b': 5, 'a': 4}]

暫無
暫無

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

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