Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/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 正在获取max(dict_name.values())以忽略字符串_Python_Python 2.7_Dictionary - Fatal编程技术网

Python 正在获取max(dict_name.values())以忽略字符串

Python 正在获取max(dict_name.values())以忽略字符串,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我正在使用Python2.7获取与名为“names”的字典中的最大值相关联的名称,其中每个名称的值都是一个数字(特别是它们的年度薪酬)。我已经使用了代码 max(names.values()) 问题是缺少了一些值并将其编码为“NaN”,这恰好是Python眼中的最大值。有没有办法将max()函数限制为数值并使其忽略非数值 一旦获得最大值,是否有方法使用该最大值来查找与其关联的名称(字典键) 谢谢 您可以预筛选出所有字符串: seq = [x for x in names.values() i

我正在使用Python2.7获取与名为“names”的字典中的最大值相关联的名称,其中每个名称的值都是一个数字(特别是它们的年度薪酬)。我已经使用了代码

max(names.values())
问题是缺少了一些值并将其编码为“NaN”,这恰好是Python眼中的最大值。有没有办法将max()函数限制为数值并使其忽略非数值

一旦获得最大值,是否有方法使用该最大值来查找与其关联的名称(字典键)


谢谢

您可以预筛选出所有字符串:

seq = [x for x in names.values() if not isinstance(x, str)]
print max(seq)
或者您可以提供一个键函数,为字符串提供非常负的值:

print max(names.values(), key=lambda x: x if not isinstance(x, str) else float("-inf"))

谢谢你,凯文。你的回答完全符合我提出的问题,但它使我意识到我问错了问题。我应该把我的问题写得更清楚些。我正在努力找到薪水最高的人的名字。你的代码显然找到了最高的薪水。我可以用它来获取与该值关联的名称吗?字典被设置为通过键而不是值来访问,所以我不清楚如何做到这一点。谢谢在这种情况下,我将执行
max(d.keys(),key=lambda x:names[x],如果不是isinstance(names[x],str),则执行else float(“-inf”)