繁体   English   中英

如果min(list)引发ValueError,如何返回0或其他内容?

[英]How do I return 0 or something else if min(list) raises ValueError?

我有一个列表值my_list ,我希望得到它的最小值:

min_value = min(my_list)

如果my_list不为空,这可以正常工作,但如果列表为空则引发ValueError

如果my_list为空,我可以以非常Pythonic的方式返回其他内容,并且还可以在不检查if情况下捕获ValueError (如下所示):

if my_list:
    min_value = min(my_list)

我想要一个单行的东西。 就像是:

min_value = min(my_list) or another_value

在Python 3.4中,您可以使用新的default关键字

min_value = min(my_list, default=0)

在旧版本中,可以使用简单的条件表达式

min_value = min(my_list) if my_list else 0  # Empty lists evaluate to False

一种方法是min(my_list or [0])

只需这样做:

my_list = []
another_value = 555
print min(my_list) if my_list else another_value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM