ValueError: max() arg 是 Python 中的空序列

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).

valueerror max arg 是一个空序列

下面是错误如何发生的示例。

主程序
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 ValueErrorexcept
则在我们可以处理错误的地方运行该块。

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).