python错误消息min()arf是一个空序列

时间:2017-09-18 03:42:09

标签: min

我正在尝试创建一个占用一串数字并输出最大值和最小值的函数。这是我的代码

def high_and_low(numbers):
    numbers = map(int, numbers.split())
    max_n = max(numbers)
    print(max_n)    
    min_n = min(numbers)
    return(max_n, min_n)

但是我收到以下错误:ValueError:min()arg是一个空序列。所以我认为它没有读取负值,但我不知道为什么......

1 个答案:

答案 0 :(得分:1)

我假设您正在使用Python 3.x,其中map()被更改为返回生成器而不是Python 2.x中的显式结果列表。在此生成器上调用max()会使其耗尽,不会让min()的元素迭代。

一种解决方案是将此生成器转换为列表,可能numbers = list(numbers)作为函数的第二行。作为列表,您可以根据需要多次迭代它。