如何在Python中使用带有数组的if语句?

时间:2015-04-02 16:33:33

标签: python

我正在尝试使用以下语句:

if any(dy) < 0:

     print 'do something'

我可以在数组中看到有很多元素&lt;那么0但似乎程序确实无法读取它们并执行打印命令。我想这是因为dy是一个数组。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

使用:

if any(i < 0 for i in dy):
    print 'do something'

i < 0 for i in dy部分是一个生成器,如果True中的值小于0,则迭代时将生成一些dy值。然后any函数遍历生成器,如果它遇到生成器输出中的任何True,则返回True,这意味着dy中的值小于any 1}}。以您目前的方式,True将返回False,相当于1,或print,相当于0,两者都不小于0,因此您{{1}} 1}}永远不会被执行。

答案 1 :(得分:0)

any函数只测试传递的表达式中是否存在单个true值:

any(i < 0 for i in dy) # need to use a generator or list comprehension