Most Pythonic way to set a variable to a range?

Is there a more pythonic way to achieve this:

result = #...real value from elsewhere
max_value = 1
min_value = 0
if result > max_value:
    result = max_value
elif result < min_value:
    result = min_value
return result

I don’t know how to explain it in words, so I hope it is clear. Thanks

+4
source share
4 answers

You can use the min and max functions :

result = min(max_value, max(min_value, result))
+6
source

Here is one of the options that I like:

result = max_value if result > max_value else result
result = min_value if result < min_value else result
+1
source

All you need is a method sorted

result = sorted((min_value,result, max_value))[1]
+1
source

Do you really need this part?

elif result < min_value:
    result = min_value

Wouldn't that be?

result = #...real value from elsewhere
max_value = 1
min_value = 0
if result >= max_value:
    result = max_value
else:
    result = min_value
return result
0
source

Source: https://habr.com/ru/post/1532879/


All Articles