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

2024-04-20 16:14:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用以下语句:

if any(dy) < 0:

     print 'do something'

我可以看到数组中有很多元素<;然后是0,但程序似乎仍然无法读取它们并执行print命令。我想那是因为dy是一个数组。 我怎样才能解决这个问题?你知道吗


Tags: 命令lt程序元素ifany数组语句
2条回答

any函数只是测试传递的表达式中是否有一个真值:

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

用途:

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

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

相关问题 更多 >