簡體   English   中英

在 python 中使用 for 循環從其他字典創建字典

[英]create dict from other dicts with for loop in python

從現有字典中獲取不同字典的好方法是什么?

例如我有這個:

x = {"x1":1,"x2":2,"x3":3}
y = {"y1":1,"y2":2,"y3":3}
z = {"z1":1,"z2":2,"z3":3}

我想要這個:

dict1 = {"x1":1,"y1":1,"z1":1}
dict2 = {"x2":2,"y2":2,"z2":2}
dict3 = {"x3":3,"y3":3,"z3":3}

假設我有更多的數據,我想要一個高效的快速方法,比如循環。

您可以使用zip來實現這一點 -

a, b, c = [i for i in zip(x.items(), y.items(), z.items())]
dict1, dict2, dict3 = dict(a), dict(b), dict(c)

print(dict1)
print(dict2)
print(dict3)
{'x1': 1, 'y1': 1, 'z1': 1}
{'x2': 2, 'y2': 2, 'z2': 2}
{'x3': 3, 'y3': 3, 'z3': 3}

編輯:正如@Moinuddin 正確指出的那樣,您可以通過將類型轉換映射到 zip object 將其寫在一行中。

dict1, dict2, dict3 = map(dict, zip(x.items(), y.items(), z.items()))

暫無
暫無

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

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