繁体   English   中英

如何在Python中将if语句与数组一起使用?

[英]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 dyi < 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM