溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python實(shí)現(xiàn)獲取字典特定值對(duì)應(yīng)的鍵的方法

發(fā)布時(shí)間:2020-10-29 17:19:24 來源:億速云 閱讀:334 作者:Leah 欄目:開發(fā)技術(shù)

python實(shí)現(xiàn)獲取字典特定值對(duì)應(yīng)的鍵的方法?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

一、通用:自行定義函數(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í)行過程:首先遍歷迭代器dict,將返回值作為參數(shù)傳遞給key對(duì)應(yīng)的函數(shù),然后將函數(shù)的執(zhí)行結(jié)果傳給key,并以此時(shí)key值為標(biāo)準(zhǔn)進(jìn)行大小判斷,最終返回最大值。
  • 簡(jiǎ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)建新字典,在字典中查詢值,但是有時(shí)候值會(huì)重復(fù),轉(zhuǎn)為字典后只有一個(gè)

看完上述內(nèi)容,你們掌握python實(shí)現(xiàn)獲取字典特定值對(duì)應(yīng)的鍵的方法的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI