現在我有一本字典度,記名字叫筆記:Key作爲價值及價值爲重點
notes = {
1: 'C',
2: 'D',
3: 'E',
4: 'F',
5: 'G',
6: 'A',
7: 'B'
}
是否有一種方式來獲得?
note[1] == 'C'
note['C'] == 1
現在我有一本字典度,記名字叫筆記:Key作爲價值及價值爲重點
notes = {
1: 'C',
2: 'D',
3: 'E',
4: 'F',
5: 'G',
6: 'A',
7: 'B'
}
是否有一種方式來獲得?
note[1] == 'C'
note['C'] == 1
更新您的字典內有鑰匙的價值和價值觀顛倒映射關係鍵:
notes = {
1: 'C',
2: 'D',
3: 'E',
4: 'F',
5: 'G',
6: 'A',
7: 'B'
}
notes.update({v:k for k,v in notes.iteritems()})
print(notes)
{'A': 6, 1: 'C', 2: 'D', 3: 'E', 4: 'F', 5: 'G', 6: 'A', 7: 'B', 'F': 4, 'C': 1, 'G': 5, 'B': 7, 'E': 3, 'D': 2}
print(notes["C"])
print(notes[1])
1
C
這會工作在任何情況下,原字典中沒有任何價值已經出現在字典中。
試試這個
爲Python 2.7+/3+:
inv_dict = {val: key for key, val in notes.items()}
這種方式,您可以有兩個字典
有沒有辦法找到一個逆映射,而不迭代整個字典。您可以創建反向映射另一個字典,如果你需要經常使用它:
inv_dic = {val: key for key, val in map.items()}
我知道他們建議我沒有閱讀過的所有主題,但我從未見過dict.update()...太棒了。 – marcus