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. 使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器的詳細(xì)過(guò)程2. Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié)3. 刪除docker里建立容器的操作方法4. VMware中如何安裝Ubuntu5. Docker 部署 Prometheus的安裝詳細(xì)教程6. IntelliJ IDEA導(dǎo)入jar包的方法7. IntelliJ IDEA恢復(fù)刪除文件的方法8. 使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境9. docker /var/lib/docker/aufs/mnt 目錄清理方法10. IntelliJ IDEA配置Tomcat服務(wù)器的方法
