簡體   English   中英

如何從具有最高值的字典中刪除密鑰?

[英]how to delete a key from a dictionary with the highest value?

我有一個簡單的問題(或者我認為)。

我有一本字典,讓我們說它看起來像這樣:

dict = {'A':100, 'a':10, 'T':50, 't':5}

我只想刪除具有最高值的密鑰。 我試過這個:

del max(dict.values())

這是錯誤消息:'語法錯誤:無法刪除函數調用'。 我希望最終結果是:

dict = {'a':10, 'T':50, 't':5}

max(d.values())將給出最大值(100),但要從字典中刪除條目,則需要相應的鍵( 'A' )。

你可以這樣做:

d = {'A':100, 'a':10, 'T':50, 't':5}
key_to_delete = max(d, key=lambda k: d[k])
del d[key_to_delete]

順便說一句,你不應該命名您的字典dict ,因為這是一個內置式的名稱。

如果可能有多個條目具有相同的最大值,並且您要刪除所有條目:

val_to_delete = max(d.values())
keys_to_delete = [k for k,v in d.iteritems() if v==val_to_delete]
for k in keys_to_delete:
    del d[k]

你需要掌握最大值的關鍵。

試試這個:

del d[max(d, key=d.get)]

此外,您應該避免調用變量dict因為它會影響內置名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM