So I would like to get the maximum value from 3 variables, x
,y
,z
.
x = 1
y = 2
z = 3
max(x, y, z) # returns 3 but I want "z"
However this returns the value of z
i.e 3
. How do I get the name of the variable e.g. "z"
instead?
Thanks
Make a dictionary and then use max
. Also works with min
. It will return you the variable name in the form of string.
>>> x = 1
>>> y = 2
>>> z = 3
>>> var = {x:"x",y:"y",z:"z"}
>>> max(var)
3
>>> var.get(max(var))
'z'
>>> var.get(min(var))
'x'
>>>
You could put them into a dictionary and use max with a key:
dict1 = {'x':1, 'y':2, 'z':3}
max(dict1, key=dict1.get)
But think through the ramifications of this. What if you have the same val multiple times, and other edge cases.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With