我遇到了一个名为any和numpy
的函数,在以下情况下我无法理解它的用法,如下所示:
if np.subtract(original.shape, duplicate.shape).any():
# Do something
else:
# Carry on with the usual tasks
有人可以帮助我了解这里发生的事情吗?正在检查什么?该文档说,
测试沿给定轴的任何数组元素的求值是否为True。
是否正在检查其是否相等?为了更好地理解这一点,我该如何重写any
调用?
答案 0 :(得分:1)
正在检查其“真实”性。
尝试一下:
import numpy
print(numpy.any([0, 0, 0, 0, 0]))
print(numpy.any([0, 0, 0, 0, 1]))
答案 1 :(得分:1)
np.any(x)
检查x
中的任何元素是否为true。就您而言,它检查数组original
和duplicate
的维数是否至少不同。
您可以将其重写为:
res = False
for so, sd in zip(original.shape, duplicate.shape):
if so != sd:
res = True
if res:
# Do something
else:
# Carry on with the usual tasks
答案 2 :(得分:-1)
any
方法检查给定数据中至少在元素上是否被评估为True
。
在python中,{{3}}:
None
False
__len__
方法返回0或__bool__
方法返回False
的任何事物对其他所有内容进行评估True
。
如果通过any
方法检查的数据包含至少一项不满足这些要求的项目,则返回True
,否则返回False