如何检查数组是否是多维的

2024-10-01 17:28:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个代码来检查n是否是数组a的最大值,如果它是return True,如果不是return False,但是我有两个条件如果值是多维或一维,我不知道怎么写:

 if [A is unidimentional]:
     maximum=A[0]
     for i in range(A.shape[0]):
         if max(A[i],maximum)==A[i]:
             maximum=A[i]
     if max(n,maximum)!=n:
         return False
     return True

     else:
         maximum=A[0][0]
         for i in range(A.shape[0]):
         for j in range(A.shape[1]):
             if max(A[i][j],maximum)==A[i][j]:
                 maximum=A[i][j]
     if max(n,maximum)!=n:
         return False
     return True

如果有人知道我怎么写这个条件,那将是非常有帮助的,谢谢


Tags: 代码infalsetrueforreturnifis
3条回答

如果只想检查数组是否是多维的,只需检查数组的shape的长度

arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
print len(arr.shape)

如果该值大于1,则数组是多维的

但是如果您只想检查n是否等于数组中的最大值,则不需要手动实现它。np.amax将告诉您:

^{pr2}$

尝试以下操作:

import numpy as np

my_array = np.array([[1,2,3],[4,5,6]])
d = len(my_array.shape)
print(d)  # Output: 2

现在,您可以针对d进行测试,如果它的值是2,那么您的数组是2维的。在

def is_multidimensional(A):
    return A.ndim > 1

相关问题 更多 >

    热门问题