[英]How to get a key with highest value from a dictionary that is created from a string?
[英]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.