python如何判断两个数组完全相等?

朴灿烈づ我的快乐病毒、 2022-09-16 05:49 236阅读 0赞

在写代码时想判断两个矩阵是否完全相同(每个元素都相同),于是我这样写了:

  1. import numpy as np
  2. a = np.array ([[1,2,3],[3,6,8]])
  3. b = np.array ([[2,2,3],[1,3,8]])
  4. c= np. array ([[1,2,3],[3,6,8]])
  5. print(a==b)

输出:

  1. [[False True True]
  2. [False False True]]
  3. import numpy as np
  4. a = np.array ([[1,2,3],[3,6,8]])
  5. b = np.array ([[2,2,3],[1,3,8]])
  6. c= np. array ([[1,2,3],[3,6,8]])
  7. print(a==c)

输出:

  1. [[ True True True]
  2. [ True True True]]

发现用==判断只能返回一个判断矩阵,表示其中每一个元素是否对应相等。

应该这么写:

  1. ''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. import numpy as np
  3. a = np.array ([[1,2,3],[3,6,8]])
  4. b = np.array ([[2,2,3],[1,3,8]])
  5. c= np. array ([[1,2,3],[3,6,8]])
  6. print((a==b).all())
  7. print((a==c).all())

输出:

  1. False
  2. True

如果两个矩阵中的所有元素对应相等,则返回True,反之返回False。

如果判断两个矩阵中是否有相等的元素,有任何一个相等就行,这种情况就可以用.any(),如下:

  1. import numpy as np
  2. a = np.array ([[1,2,3],[3,6,8]])
  3. b = np.array ([[2,2,3],[1,3,8]])
  4. c= np. array ([[1,2,3],[3,6,8]])
  5. print((a==b).any())
  6. print((a==c).any())

输出:

  1. True
  2. True

发表评论

表情:
评论列表 (有 0 条评论,236人围观)

还没有评论,来说两句吧...

相关阅读