python 獲取字典特定值對(duì)應(yīng)的鍵的實(shí)現(xiàn)
對(duì)于字典,通過(guò)“鍵”獲得“值”非常簡(jiǎn)單,但通過(guò)“值”獲得“鍵”則需繞些彎子。
一、通用:自行定義函數(shù)方式
假設(shè):
輸入:一個(gè)字典(dic)+要找的“值”value 輸出:字典中所有值為value的key,這里以set形式輸出,因?yàn)閷?duì)于字典而言,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è):需獲取最大“值”對(duì)應(yīng)的“鍵”,若dic.values()全部“值”均不相同,則可以直接使用max(dict, key)
執(zhí)行過(guò)程:首先遍歷迭代器dict,將返回值作為參數(shù)傳遞給key對(duì)應(yīng)的函數(shù),然后將函數(shù)的執(zhí)行結(jié)果傳給key,并以此時(shí)key值為標(biāo)準(zhǔn)進(jìn)行大小判斷,最終返回最大值。 簡(jiǎn)單地說(shuō):遍歷字典(dic),查找所有“值”的最大值(key=dic.get(everykey)),返回該“值”的“鍵”(dic)max(dic,key=dic.get)
Python字典根據(jù)值來(lái)取鍵
三種方法:
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)建新字典,在字典中查詢值,但是有時(shí)候值會(huì)重復(fù),轉(zhuǎn)為字典后只有一個(gè)
到此這篇關(guān)于python 獲取字典特定值對(duì)應(yīng)的鍵的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python 字典特定值對(duì)應(yīng)的鍵內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 淺談XML Schema中的elementFormDefault屬性2. 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論3. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析4. 選擇模式 - XSL教程 - 25. 阿里前端開(kāi)發(fā)中的規(guī)范要求6. XML和YAML的使用方法7. 利用XMLSerializer將對(duì)象串行化到XML8. ASP中SELECT下拉菜單同時(shí)獲取VALUE和TEXT值的實(shí)現(xiàn)代碼9. 父div高度不能自適應(yīng)子div高度的解決方案10. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介
