簡體   English   中英

如何從列表的字典創建字典列表

[英]How from dict of list create list of dict

我有dict

D = {'a': ['1a', '2a', '3a'], 'c': ['1c', '2c', '3c'], 'b': ['1b', '2b', '3b']}

我想將D轉換為dict list

L = [{'a':'1a', 'b': '1b', 'c': '1c'}, {'a':'2a', 'b': '2b', 'c': '2c'}, ...]

我試過了:

>>> l = [(k, v) for k, vals in D.items() for v in vals]
>>> map(dict, zip(*zip(*[iter(l)]*4)))
[{'a': '1a', 'c': '1c', 'b': '1b'}, {'a': '2a', 'c': '2c', 'b': '2b'}, ...

我需要更具可讀性的解決方案。

這個怎么樣:

L = [dict(zip(D.keys(), vals)) for vals in zip(*D.values())]

輸出:

>>> print L
[{'a': '1a', 'c': '1c', 'b': '1b'}, 
 {'a': '2a', 'c': '2c', 'b': '2b'}, 
 {'a': '3a', 'c': '3c', 'b': '3b'}]

暫無
暫無

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

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