Python, find variable/key based on maximum value -
i have several values, this:
value_a = 5 value_b = 10 value_c = 20
i want find largest value , print name of value. use
val = [value_a, value_b, value_c] print max (val)
but gives me value , not name.
instead of defining variable, need create dict
map name value. need call max()
operator.itemgetter()
key
it. example:
my_dict = { 'value_1': 10, 'value_2': 30, 'value_3': 20 } operator import itemgetter var_text, value = max(my_dict.items(), key=itemgetter(1)) # value of: # `var_text`: "value_2" # `value`: 30
here, max()
return tuple maximum value in dict
.
if not care maximum value, , want key
holding it, may do:
>>> max(my_dict, key=my_dict.get) 'value_2'
explanation:
my_dict.items()
return list of tuple in format [(key, value), ..]
. in example gave, hold:
[('value_1', 10), ('value_3', 20), ('value_2', 30)]
key=itemgetter(1)
in satement tell max()
perform max operation on index 1
of each tuple in list.
Comments
Post a Comment