簡體   English   中英

了解numpy的any函數

[英]Understanding numpy's any function

我遇到了一個用numpy命名為any的函數,在以下情況下我無法理解其用法:

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]))

np.any(x)檢查是否有任何在該元件的x是真實的。 在您的情況下,它將檢查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

any方法檢查至少給定數據中的on元素是否被評估為True

在python中, 以下內容評估為False

  • None
  • False
  • 任何數字零
  • 空字符串,集合,列表,字典...
  • 具有__len__方法返回0或__bool__方法返回False任何東西

其他所有內容都評估為True

如果通過any方法檢查的數據包含至少一個不滿足這些要求的項目,則返回True否則為False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM