Skip to main content
 首页 » 编程设计

Python,根据最大值查找变量/键

2025年05月04日11mengfanrong

我有几个值,像这样:

value_a = 5 
value_b = 10 
value_c = 20 

我想找到最大值并打印该值的名称。 通常我会使用

val = [value_a, value_b, value_c] 
print max (val) 

但这只给我值(value)而不是名字。

请您参考如下方法:

您无需定义变量,而是需要创建一个dict 来映射名称与值。然后你需要调用max()与 operator.itemgetter()作为它的 key。例如:

my_dict = { 
   'value_1': 10, 
   'value_2': 30, 
   'value_3': 20 
} 
 
from operator import itemgetter 
 
var_text, value = max(my_dict.items(), key=itemgetter(1))    
# Value of: 
# `var_text`: "value_2" 
# `value`: 30 

这里,max() 将返回dict 中具有最大值的元组。

如果你不关心最大值,你只想要持有它的 key,你可以这样做:

>>> max(my_dict, key=my_dict.get) 
'value_2' 

解释:

my_dict.items() 将返回格式为 [(key, value), ..] 的元组列表。在我给出的示例中,它将保持:

[('value_1', 10), ('value_3', 20), ('value_2', 30)] 
语句中的

key=itemgetter(1) 将告诉max() 对每个元组的索引1 执行最大操作在列表中。