Python 理解numpy';什么功能

Python 理解numpy';什么功能,python,numpy,Python,Numpy,我遇到一个名为withnumpy的函数,我无法理解它在某些上下文中的用法,如下所示: if np.subtract(original.shape, duplicate.shape).any(): # Do something else: # Carry on with the usual tasks 有人能帮我理解这里发生了什么吗?正在检查什么?文件上说, 测试沿给定轴的任何数组元素的计算结果是否为True 是否正在检查是否相等?为了更好地理解这一点,我如何重写any调用?正在检查

我遇到一个名为with
numpy
的函数,我无法理解它在某些上下文中的用法,如下所示:

if np.subtract(original.shape, duplicate.shape).any():
   # Do something
else:
   # Carry on with the usual tasks
有人能帮我理解这里发生了什么吗?正在检查什么?文件上说,

测试沿给定轴的任何数组元素的计算结果是否为True

是否正在检查是否相等?为了更好地理解这一点,我如何重写
any
调用?

正在检查它的“真实性”

试试这个:

import numpy

print(numpy.any([0, 0, 0, 0, 0]))
print(numpy.any([0, 0, 0, 0, 1]))

any
方法检查给定数据中是否至少有一个元素被评估为
True

在python中:

  • None
  • False
  • 任何数字零
  • 空字符串、集合、列表、字典
  • 任何具有返回0的
    \uuuu len\uuuu
    方法或返回
    False的
    \uuuu bool\uuuu
    方法的对象
其他所有内容都将被评估为
True

如果通过
any
方法检查的数据包含至少一个不符合这些要求的项,则返回
True
else
False
np。any(x)
检查
x
中的任何元素是否为True。在您的情况下,它会检查数组
原始
重复
是否至少具有不同的维度

您可以将其改写为:

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

迭代数组,检查在numpy-ndarray对象的上下文中是否有任何元素是
True
@Shilo,这不是真的,
@juanpa.arrivillaga哦,你完全正确。。检查整型更新注释时,只有0将计算为False。如果某个值的计算结果为True,则表示该值不是None、False或==0。
any
函数检查数组中的项目是否存在上述问题,这与
if original.shape!=重复。形状:
?我想不出哪种形状组合的测试会有所不同。