Python 将变量拟合到某个范围的最简单的方法是什么?

Python 将变量拟合到某个范围的最简单的方法是什么?,python,Python,有没有一种更为通灵的方法来实现这一点: 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 result=#…其他地方的实际值 最大值=1 最小值=0 如果结果>最大值: 结果=最大值 e

有没有一种更为通灵的方法来实现这一点:

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
result=#…其他地方的实际值
最大值=1
最小值=0
如果结果>最大值:
结果=最大值
elif结果<最小值:
结果=最小值
返回结果
不知道如何用语言来解释,所以我希望它是清楚的。谢谢

您可以使用和功能:

result = min(max_value, max(min_value, result))

以下是我喜欢的一个选项:

result = max_value if result > max_value else result
result = min_value if result < min_value else result
result=max\u value if result>max\u value else result
如果结果<最小值,则结果=最小值,否则结果

您真的需要这个零件吗

elif result < min_value:
    result = min_value

您只需要
排序
方法

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

作为其中的一个答案,如果你把它封装在它自己的函数中,那就更容易阅读了,例如<代码>钳(value,min,Max)不,因为你忘记检查中间的情况了。有三个选项min、actual和max。您所拥有的只是min、maxah抱歉地认为我会将>=放入will edit。对于
结果
,这仍然只有两个结束可能性。您有一个带有常规
else
if
,这意味着将始终选择两条路径中的一条。IE)
result=max\u value
result=min\u value
将始终通过OP write
elif
调用,实际上有三条路径,
result=max\u value
result=min\u value
或结果保持不变
result = sorted((min_value,result, max_value))[1]