为什么我总是收到错误 "min() arg is an empty sequence"?

Why do I keep getting the error "min() arg is an empty sequence"?

我有以下代码:

test_file = open("test.txt","r")
numbers = test_file.readlines()
numbers = map(int,numbers)
print("Maximum number in list:", max(numbers))
print("Minimum number in list:", min(numbers))
test_file.close()

你能帮帮我吗,因为我一直收到错误消息:min() arg 是一个空序列。 (我把数字15、30、4、9、41、76、32写到文件里了,他们在不同的行)。

我得到这个输出:

Maximum number in list: 76
Traceback (most recent call last):
  File "\student-server\users$fvarela\Documents\YEAR 
9\CS\Notes\PYTHON\test.py", line 5, in <module>
    print("Minimum number in list:", min(numbers))
ValueError: min() arg is an empty sequence

你的numbers

numbers = map(int,numbers)

是一个迭代器(在 python 3 中;在 python 2 中你会得到一个列表,一切都会按预期工作);当您应用 max(numbers) 时,您会耗尽迭代器; min 不再需要迭代(即 min 会抱怨空序列)。

如果您的号码列表足够短,您可以通过

解决这个问题
numbers = tuple(map(int,numbers))

您可以将地图转换为列表:

numbers = list(map(int,numbers))