2024-04-20 16:14:15 发布
网友
我试图使用以下语句:
if any(dy) < 0: print 'do something'
我可以看到数组中有很多元素<;然后是0,但程序似乎仍然无法读取它们并执行print命令。我想那是因为dy是一个数组。 我怎样才能解决这个问题?你知道吗
any函数只是测试传递的表达式中是否有一个真值:
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永远不会执行。你知道吗
i < 0 for i in dy
dy
True
False
print
any
函数只是测试传递的表达式中是否有一个真值:用途:
i < 0 for i in dy
部分是一个生成器,如果dy
中的值小于0,则在迭代时会产生一些True
值。然后any
函数对生成器进行迭代,如果在生成器输出中遇到任何True
,则返回True
,这意味着dy
中的值小于0。以您当前的方式,any
将返回True
,相当于1,或False
,相当于0,两者都不小于0,因此您的print
永远不会执行。你知道吗相关问题 更多 >
编程相关推荐