Python中如何将两个函数返回值分配给min和max变量
实现自动分配min和max变量的方法
当然可以!Python里有几种简洁的方式帮你自动把f(1)和f(2)的结果按大小分配给“最小值”和“最大值”变量,不用手动写繁琐的条件判断。
方法一:利用内置的min()和max()函数
先把两个函数调用的结果存起来,再分别取最小和最大值赋值:
# 先获取两个结果,避免重复调用函数 val1, val2 = f(1), f(2) # 自动分配最小和最大值 min_val, max_val = min(val1, val2), max(val1, val2)
这里特意用min_val和max_val而不是直接用min、max当变量名——因为这两个是Python的内置函数,用它们当变量名会覆盖原函数,之后再想调用min()就会出错啦。
方法二:用sorted()函数一键搞定
如果你追求更简洁的写法,可以把两个结果放进列表排序后直接解包:
min_val, max_val = sorted([f(1), f(2)])
sorted()会返回一个从小到大排序的列表,解包后第一个变量就是最小值,第二个就是最大值,一步到位。
小提醒
不管用哪种方法,f(1)和f(2)都只会被调用一次,所以如果你的函数有副作用(比如修改外部变量、打印内容等)也不用担心重复执行的问题。
内容的提问来源于stack exchange,提问作者Luke Collins
相关产品推荐
相关产品推荐

