![](/img/trans.png)
[英]Can I use if-else statement nested in for loop on an Array in Python
[英]How can I use the if statement in Python with an array?
我正在尝试使用以下语句:
if any(dy) < 0:
print 'do something'
我可以在数组中看到很多元素,然后<0,但是似乎程序无法读取它们并执行print命令。 我想那是因为dy是一个数组。 我该如何解决这个问题?
采用:
if any(i < 0 for i in dy):
print 'do something'
i < 0 for i in dy
部分中i < 0 for i in dy
的i < 0 for i in dy
是生成器,如果dy
中的值小于0,则迭代时将生成一些True
值。 然后, any
函数遍历生成器,如果在生成器输出中遇到任何True
,则返回True
,这意味着dy
的值小于0。 以您当前的方式, any
将返回True
,等于1或False
,等于0,两者都不小于0,因此将永远不会执行print
。
any
函数只是测试传递的表达式中是否有单个true值:
any(i < 0 for i in dy) # need to use a generator or list comprehension
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.