簡體   English   中英

python:我想用兩個二維列表制作字典

[英]python: I want to make a dictionary using two, two dimensional lists

我想使用兩個二維列表制作一個包含兩個字典的列表。 請注意,每個元素都必須與第二個列表的元素配對。

a = [[1,2,3],[4,5,6]]
b = [[7,8,9],[10,11,12]]
c = dict(zip(a,b))

不起作用,因為列表不可散列。 然后我需要輸出為

 c = [{1:7, 2:8, 3:9}, {4:10, 5:11, 6:12}]

您想要以下內容:

c = [dict(zip(keys, vals)) for keys, vals in zip(a, b)]

在這里,我們對 zip 使用列表推導,並為原始列表ab中的每個內部列表轉換為一個字典。

或者,我們可以進一步展平理解,得到:

c = [{k: v for k, v in zip(keys, vals)} for keys, vals in zip(a, b)]

兩者都是等價的,只是風格問題。

Output:

>>> print(c)
[{1: 7, 2: 8, 3: 9}, {4: 10, 5: 11, 6: 12}]

暫無
暫無

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

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