我最近開始學習 Python 編程,但遇到了一個問題。我試圖自己解決這個問題,但沒有成功。
我有一個帶有格式化字串作為鍵的字典和每個鍵有 3 個值的元組。
dict1 = {“a;2;1;1;” : ( 1, 2, 3), “a;3;2;1;” : ( 4, 5, 6)}
我想用來自 dict1 的所有鍵和每個鍵的第三個值創建一個新的字典 dict2。
dict2 = {“a;2;1;1;” : 3, “a;3;2;1;” : 6}
在這些示例中,我只使用了兩個鍵值對,真正的字典有上萬個鍵值對。
有什么建議?幫助表示贊賞。
uj5u.com熱心網友回復:
2 線解決方案,可能會以更“python”的方式完成,但這會起作用:
dict1 = {'a;2;1;1;' : ( 1, 2, 3), 'a;3;2;1;' : ( 4, 5, 6)}
dict2 = {}
# You just need these two lines here
for k in dict1:
dict2[k] = dict1[k][2]
print(dict2)
uj5u.com熱心網友回復:
做一個簡單的迭代:
dict2 = dict()
for k in dict1:
dict2[k] = dict1[k][2]
或者使用 dict-comprehension 在一行中完成:
dict2 = {k: dict1[k][2] for k in dict1}
uj5u.com熱心網友回復:
dict1 = { 'a;2;1;1;' : ( 1, 2, 3), 'a;3;2;1;' : ( 4, 5, 6)}
dict2 = {}
for k in dict1.keys():
dict2[k] = dict1[k][2]
uj5u.com熱心網友回復:
這也可以通過字典理解來完成:
dict1 = { “a;2;1;1;” : ( 1, 2, 3), “a;3;2;1;” : ( 4, 5, 6)}
dict2 = {x: y for (x,(_,_,y)) in dict1.items()}
uj5u.com熱心網友回復:
非常感謝,它作業得很好。非常感謝您的快速回復。你讓我今天很開心!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/419906.html
標籤:
上一篇:生成10位密碼
