【发布时间】:2017-09-04 21:25:55
【问题描述】:
如果在数组中检测到非零数,我想编写一段代码来给出打印语句。我的尝试如下:
if numpy.where(array != 0):
print "NonZero element detected!"
elif numpy.where(array ==0):
print "All elements are zero"
我也知道 numpy.nonzero 命令,但我真的很想得到这个 if,否则打印语句的样式可以正常工作,我不确定如何正确合并 python 逻辑。我对让逻辑正常工作比我找到零更感兴趣。我所拥有的似乎产生了“检测到非零元素!”不管数组中是否有非零值。关于如何实现这一点有什么想法吗?
【问题讨论】:
-
where为您提供一组数组,每个维度一个数组。如果没有任何非零,这些数组将具有形状 (0,),即没有元素。因此,如果您使用where,您需要检查其中一个数组的长度。我建议在交互式会话中尝试where。查看其结果应该会更清楚。