我是python的新手,正在学习其内置函数,但是函数all() 表现不正常,我不知道为什么。这是我的代码
n=map(int,input().strip().split())
print(all([j>0 for j in n]))
print(list(n)) #this line returning empty list
这是我的输入内容:
1 2 3 4 5 -9
我的输出:
False
函数是否都会更改原始地图对象(值)?但是在docs链接上的给定函数定义中未提及类似内容。
预先感谢
答案 0 :(得分:2)
Map
返回您在all
函数中耗尽的生成器对象。因此,当您在list
上调用n
时,由于n
为空/已用尽,它将返回一个空列表。
要解决此问题,请首先将n
列为列表。
n=list(map(int,input().strip().split()))
print(all([j>0 for j in n]))
print(n)