ValueError: max() arg 在 Python 中是一个空序列
ValueError: max() arg is an empty sequence in Python
当我们将空序列传递给max()
函数时,会出现 Python“ValueError: max() arg is an empty sequence”。要解决该错误,
default
请在函数调用中提供关键字参数max()
,例如
result = max(my_list, default=0)
.
下面是错误如何发生的示例。
主程序
my_list = [] # ⛔️ ValueError: max() arg is an empty sequence result = max(my_list)
max()
我们向导致错误的函数传递了一个空列表。
解决错误的一种方法是default
在函数调用中提供关键字参数max()
。
主程序
my_list = [] result = max(my_list, default=0) print(result) # 👉️ 0
如果序列为空,该max()
函数将返回关键字参数的值。default
如果 a不适合您的用例,您还可以指定一个None
值。0
主程序
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()
函数导致 a ValueError
,except
则在我们可以处理错误的地方运行该块。
max函数返回可迭代对象中的最大项或两个或多个参数中最大的一个。
主程序
my_list = [15, 45, 30] result = max(my_list) print(result) # 👉️ 45
该函数还可以传递两个或多个位置参数。
主程序
result = max(15, 45, 30) print(result) # 👉️ 45
该函数采用可选的default
关键字参数,用于指定在提供的可迭代对象为空时返回的值。
主程序
result = max([], default=0) print(result) # 👉️ 0
如果可迭代对象为空default
且未提供关键字参数,则该函数会引发一个ValueError
.
结论
当我们将空序列传递给max()
函数时,会出现 Python“ValueError: max() arg is an empty sequence”。要解决该错误,
default
请在函数调用中提供关键字参数max()
,例如
result = max(my_list, default=0)
.