【问题标题】:python "all" function making list empty [duplicate]python“all”函数使列表为空[重复]
【发布时间】:2018-09-26 15:42:56
【问题描述】:

我是 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

函数是否都会改变原始地图对象(值)?但是在文档链接的给定函数定义中没有提到这样的事情。

提前致谢

【问题讨论】:

  • all() 返回 True 如果传递给它的所有内容都是 True。您的输入中有-9,所以j>0False,所以all 返回False。您希望对您的输入做什么?

标签: python python-3.x


【解决方案1】:

Map 返回一个您在all 函数中耗尽的生成器对象。因此,当您在 n 上调用 list 时,由于 n 为空/已用尽,它返回一个空列表。

首先要修复n 一个列表。

n=list(map(int,input().strip().split()))
print(all([j>0 for j in n]))
print(n)

【讨论】:

  • 疑虑解除,谢谢!
猜你喜欢
  • 2020-12-24
  • 2019-09-23
  • 2020-02-09
  • 2020-07-29
  • 2015-10-07
  • 2015-04-22
  • 2013-11-05
  • 2018-08-05
  • 1970-01-01
相关资源
最近更新 更多