python 獲取字典特定值對應(yīng)的鍵的實現(xiàn)
對于字典,通過“鍵”獲得“值”非常簡單,但通過“值”獲得“鍵”則需繞些彎子。
一、通用:自行定義函數(shù)方式
假設(shè):
- 輸入:一個字典(dic)+要找的“值”value
- 輸出:字典中所有值為value的key,這里以set形式輸出,因為對于字典而言,key值均是唯一的。
def getKey(dic,value):
if value not in dic:
return None
result=set()
for key in dic:
result.add(key)
return result
二、限制:使用內(nèi)置函數(shù)
假設(shè):需獲取最大“值”對應(yīng)的“鍵”,若dic.values()全部“值”均不相同,則可以直接使用max(dict, key)
- 執(zhí)行過程:首先遍歷迭代器dict,將返回值作為參數(shù)傳遞給key對應(yīng)的函數(shù),然后將函數(shù)的執(zhí)行結(jié)果傳給key,并以此時key值為標(biāo)準(zhǔn)進行大小判斷,最終返回最大值。
- 簡單地說:遍歷字典(dic),查找所有“值”的最大值(key=dic.get(everykey)),返回該“值”的“鍵”(dic)
max(dic,key=dic.get)
Python字典根據(jù)值來取鍵
三種方法:
s = {'a':100,'b':200,'c':300}
1.print([k for k,v in s.items() if v==200])
2.b=list(s.keys())[list(s.values()).index(200)]
#將字典的值變列表,找目標(biāo)下標(biāo),將鍵變成列表,根據(jù)剛才的下標(biāo)求得值
3.new_dict={v:k for k,v in s.items()}
print(new_dict)
print(new_dict[200])
#創(chuàng)建新字典,在字典中查詢值,但是有時候值會重復(fù),轉(zhuǎn)為字典后只有一個
到此這篇關(guān)于python 獲取字典特定值對應(yīng)的鍵的實現(xiàn)的文章就介紹到這了,更多相關(guān)python 字典特定值對應(yīng)的鍵內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+Pandas實現(xiàn)數(shù)據(jù)透視表
對于數(shù)據(jù)透視表,相信對于Excel比較熟悉的小伙伴都知道如何使用它。本文將利用Python Pandas實現(xiàn)數(shù)據(jù)透視表功能,感興趣的可以學(xué)習(xí)一下2022-06-06
python鏈表的基礎(chǔ)概念和基礎(chǔ)用法詳解
這篇文章主要為大家詳細介紹了python鏈表的基礎(chǔ)概念和基礎(chǔ)用法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05
python實現(xiàn)優(yōu)雅的打印json格式文本
這篇文章主要介紹了python實現(xiàn)優(yōu)雅的打印json格式文本方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
對Python 多線程統(tǒng)計所有csv文件的行數(shù)方法詳解
今天小編就為大家分享一篇對Python 多線程統(tǒng)計所有csv文件的行數(shù)方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
python+pygame實現(xiàn)坦克大戰(zhàn)
這篇文章主要為大家詳細介紹了python+pygame實現(xiàn)坦克大戰(zhàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-09-09

