La compréhension de NumPy est différente de zéro de la fonction

J'essaie de comprendre numpy est nonzero fonction. Le suivant est un exemple d'application:

import numpy
arr = numpy.array([[1,0],[1,1]])
arr.nonzero()
--> (array([0, 1, 1]), array([0, 0, 1]))

Je peux voir que parce que arr est 2-D, la sortie de nonzero() est un 2-tuple. Cependant, je ne comprends pas pourquoi le nombre d'indices dans chaque élément du tuple excède le nombre de lignes/colonnes de la matrice. Je vois que

arr[arr.nonzero()]
--> array([1, 1, 1])

Mais comment...?

OriginalL'auteur hatmatrix | 2011-10-28