Python筆記: 通過字典的值得到鍵
阿新 • • 發佈:2019-02-15
方法一:
mydict={'one':1, 'two':2, 'ntwo':2}
for key, val in mydict.items():
if val == 2:
print(key)
這種方法放第一位是因為,程式碼好讀懂,而且適用於一值多鍵,
而下面的方法二要改進才能實現著效果就會麻煩許多,適用於一值一鍵。
如果出現這種情況:
dict={'one': [1, 11]}
那麼得到字典的 值 是一個 列表(list),這時候要先判斷 值 的型別是不是一個 list型別:
if isinstance(dict['one'], list): # if isinstance(dict[key], list) is true, print('list: ', dict['one']) # using a for loop checks the each value of the list # if find the value, print the key
方法二:
print(
list(mydict.keys())[list(mydict.values()).index(2)]
)
把字典中的鍵按循序存入列表:list(mydict.keys())
再把字典中的值全部存入另一個列表裡:list(mydict.values())
兩個列表的位置是相對應的:
['one', 'two', 'ntwo'] # list(mydict.keys())
[1, 2, 2] # list(mydict.values())
所以: list(mydict.values()).index(2) # 得到的是 1 而不是 2