Python 中 ValueError: max() arg is an empty sequence 错误
当我们将空序列传递给 max() 函数时,会出现 Python“ValueError: max() arg is an empty sequence”。 要解决该错误,需要在调用 max() 函数时提供默认关键字参数,例如 result = max(my_list, default=0)。
下面是产生上述错误的示例代码
my_list = []
# ⛔️ ValueError: max() arg is an empty sequence
result = max(my_list)
我们将一个空列表传递给导致错误的 max() 函数。
解决该错误的一种方法是在调用 max() 函数时提供默认关键字参数。
my_list = []
result = max(my_list, default=0)
print(result) # 👉️ 0
如果 0 不适合我们的用例,我们还可以指定 None 值。
my_list = []
result = max(my_list, default=None)
print(result) # 👉️ None
如果序列不为空,则返回最大值。
my_list = [10, 30, 20]
result = max(my_list, default=None)
print(result) # 👉️ 30
我们还可以使用 try/except 块来处理错误。
my_list = []
try:
result = max(my_list)
except ValueError:
result = 0
print(result) # 👉️ 0
max 函数返回可迭代对象中的最大项或两个或多个参数中最大的一个。
my_list = [15, 45, 30]
result = max(my_list)
print(result) # 👉️ 45
该函数还可以传递两个或多个位置参数。
result = max(15, 45, 30)
print(result) # 👉️ 45
该函数采用可选的默认关键字参数,用于指定在提供的可迭代对象为空时返回的值。
result = max([], default=0)
print(result) # 👉️ 0
如果可迭代对象为空且未提供 default 关键字参数,则该函数会引发 ValueError。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。