it-swarm.com.de

Zählen von Array-Elementen in Python

Wie kann ich die Anzahl der Elemente in einem Array zählen, weil im Gegensatz zur Logik array.count (string) nicht alle Elemente im Array gezählt werden, sondern nur nach der Anzahl der Vorkommen von string gesucht wird?.

131
UnkwnTech

Die Methode len () gibt die Anzahl der Elemente in der Liste zurück.

Syntax:

len(myArray)

Z.B:

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

Ausgabe:

3
263
Trent

len ist eine integrierte Funktion, die die Memberfunktion __len__ des angegebenen Containerobjekts aufruft, um die Anzahl der Elemente im Objekt abzurufen.

Funktionen, die mit doppelten Unterstrichen umschlossen sind, sind normalerweise "spezielle Methoden", die eine der Standardschnittstellen in Python (container, number, etc).) Implementieren. Spezielle Methoden werden über syntaktischen Zucker (Objekterstellung, Containerindizierung und Slicing, Attributzugriff, integrierte Funktionen usw.).

Die Verwendung von obj.__len__() wäre nicht die richtige Methode, aber ich verstehe nicht, warum die anderen so stark reduziert wurden.

25
Jeremy Brown

Wenn Sie ein mehrdimensionales Array haben, liefert len ​​() möglicherweise nicht den gewünschten Wert. Zum Beispiel:

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

Dieser Codeblock gibt true zurück und gibt an, dass die Größe des Arrays 2 beträgt. In diesem 2D-Array befinden sich jedoch tatsächlich 10 Elemente. Im Fall von mehrdimensionalen Arrays gibt len ​​() die Länge der ersten Dimension des Arrays an, d.h.

import numpy as np
len(a) == np.shape(a)[0]

So ermitteln Sie die Anzahl der Elemente in einem mehrdimensionalen Array beliebiger Form:

import numpy as np
size = 1
for dim in np.shape(a): size *= dim
12
user2993689

Oder,

myArray.__len__()

wenn du oopy sein willst; "len (myArray)" ist viel einfacher zu tippen! :)

3
Kevin Little

Bevor ich das sah, dachte ich mir: "Ich muss einen Weg finden, das zu tun!"

for tempVar in arrayName: tempVar+=1

Und dann dachte ich: "Es muss einen einfacheren Weg geben, dies zu tun." und ich hatte recht.

len(arrayName)

1
Evan Young