Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从具有最高值的字典中删除键?_Python - Fatal编程技术网

Python 如何从具有最高值的字典中删除键?

Python 如何从具有最高值的字典中删除键?,python,Python,我有一个简单的问题(至少我是这么想的) 我有一本字典,可以这样说: 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 =

我有一个简单的问题(至少我是这么想的)

我有一本字典,可以这样说:

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
,因为它会隐藏内置名称

除了
lambda
,还可以使用
d.uu getitem\uuuu
@Michael:True,或
d.get
类似于另一个答案。