我有一个列表值my_list
,我希望得到它的最小值:
min_value = min(my_list)
如果my_list
不为空,则可以正常工作,但如果列表为空,则会引发 ValueError 。
如果my_list
为空,并且 ValueError 被捕,我无法以非常 Pythonic 方式返回其他内容if
(如下所示):
if my_list:
min_value = min(my_list)
我想要一个单行的东西。类似的东西:
min_value = min(my_list) or another_value
答案 0 :(得分:5)
在Python 3.4中,您可以使用new default
keyword:
min_value = min(my_list, default=0)
在旧版本中,可以使用简单的conditional expression:
min_value = min(my_list) if my_list else 0 # Empty lists evaluate to False
答案 1 :(得分:4)
一种方法是min(my_list or [0])
答案 2 :(得分:0)
只需这样做:
my_list = []
another_value = 555
print min(my_list) if my_list else another_value