Compter les éléments de tableaux en Python [dupliquer]

cette question a déjà une réponse ici:

Comment puis-je compter le nombre d'éléments dans un tableau, parce que contrairement au tableau logique.count(string) ne compte pas tous les éléments dans le tableau, c'est juste recherche le nombre d'occurrences de la chaîne.

110
demandé sur UnkwnTech 2008-10-09 18:12:55

5 réponses

La méthode len() renvoie le nombre d'éléments dans la liste.

syntaxe:

len(myArray)

par exemple:

myArray = [1, 2, 3]
len(myArray)

sortie:

3

233
répondu Trent 2016-06-29 21:18:30

len est une fonction intégrée qui appelle le conteneur de l'objet __len__ fonction membre pour obtenir le nombre d'éléments dans l'objet.

fonctions encastrées avec double underscores sont généralement des "méthodes spéciales" implémentant l'une des interfaces standard en Python (conteneur, nombre, etc.). Des méthodes spéciales sont utilisées via le sucre syntaxique (création d'objets, indexation et tranchage de conteneurs, accès aux attributs, fonctions intégrées, etc.).).

utiliser obj.__len__() ne serait pas la bonne façon d'utiliser la méthode spéciale, mais je ne vois pas pourquoi les autres ont été modded vers le bas tant.

24
répondu Jeremy Brown 2008-10-09 19:40:04

Si vous avez un tableau multidimensionnel, len() peut ne pas vous donner la valeur que vous recherchez. Par exemple:

a = np.arange(10).reshape(2, 5)
print len(a) == 2

ce bloc de code retournera true, vous indiquant que la taille du tableau est 2. Cependant, il y a en fait 10 éléments dans ce tableau 2D. Dans le cas de tableaux multi-dimensionnels, len () vous donne la longueur du première dimension du tableau i.e.

len(a) == np.shape(a)[0]

pour obtenir le numéro d'éléments dans un tableau multidimensionnel de forme arbitraire:

size = 1
for dim in np.shape(a): size *= dim
12
répondu user2993689 2015-08-11 09:03:51

Ou,

myArray.__len__()

si vous voulez être oopy; "len(myArray)" est beaucoup plus facile de taper! :)

3
répondu Kevin Little 2008-10-09 14:23:27

avant de voir ça, je me suis dit, " je dois trouver un moyen de faire ça!"

for tempVar in arrayName: tempVar+=1

et puis j'ai pensé," il doit y avoir un moyen plus simple de faire ça."et j'avais raison.

len(arrayName)

1
répondu Evan Young 2015-07-17 03:05:05