簡體   English   中英

當鍵是字符串而值是列表時,如何填充 python 字典?

[英]How to populate a python dictionary when keys are strings and values are lists?

我需要創建一個字典,如下所示:

d = {'a': [2, 3, 4], 'b': [3, 4, 6], 'c': [2, 5, 9]}

我有列表形式的鍵

keys = ['a', 'b', 'c'] 

和值作為單獨的列表存在

values = [[2, 3, 2], [3, 4, 5], [4, 6, 9]]. 

我試過使用

d(zip(keys, values))

但它返回一個字典作為

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

有沒有其他方法或修正?

在將values列表與鍵組合之前,您應該zip它:

>>> keys = ['a', 'b', 'c']
>>> values = [[2, 3, 2], [3, 4, 5], [4, 6, 9]]
>>> dict(zip(keys, zip(*values)))
{'a': (2, 3, 4), 'b': (3, 4, 6), 'c': (2, 5, 9)}

如果值必須是列表(而不是元組),您可以執行以下操作:

>>> dict(zip(keys, map(list, zip(*values))))
{'a': [2, 3, 4], 'b': [3, 4, 6], 'c': [2, 5, 9]}

暫無
暫無

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

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