我試圖將一本字典的鍵映射到另一本字典的鍵以創建一個新字典。(字典按我希望它們映射的順序排序。)
例如:
Letter_Freq = {}
Letter_Freq2 = {'a':8,'b':6,'c':2}
Letter_Freq4 = {'e':24,'g':4,'f':3}
想要的輸出:
{'a':'e', 'b':'g','c':'f'}
我嘗試了幾件事,但沒有任何效果。
這是我得到的最接近的:
for key0 in Letter_Freq2:
for key1 in Letter_Freq4:
Letter_Freq[key0] = key1
這不起作用。它只是回傳
{'a':'e', 'b':'e', 'c:'e'}
uj5u.com熱心網友回復:
當您想要一對一映射時,不要使用嵌套回圈。嵌套回圈創建交叉產品。在這種情況下,您重復分配相同的鍵,并獲得最終分配。
用于zip()并行迭代序列。您不需要回圈,只需將其傳遞給dict()建構式即可:
Letter_Freq = dict(zip(Letter_Freq2, Letter_Freq4))
uj5u.com熱心網友回復:
嘗試
for k1, k2 in zip(Letter_Freq2, Letter_Freq4):
Letter_Freq[k1] = k2
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317960.html
上一篇:將主要游戲回圈轉化為功能
