Python len()-Funktion: So ermitteln Sie die Länge einer Zeichenfolge

⚡ Intelligente Zusammenfassung

Python len() ist eine eingebaute Funktion, die die Anzahl der Elemente in einem Objekt zurückgibt, z. B. die Zeichen in einer Zeichenkette oder die Elemente in einer Liste, einem Tupel, einem Wörterbuch oder einer Menge.

  • 🔢 Syntax: len(object) nimmt ein einzelnes Argument entgegen und gibt eine ganze Zahl zurĂĽck, die die Gesamtzahl der darin enthaltenen Elemente angibt.
  • đź”  Streicher: Bei einer Zeichenkette zählt len() jedes einzelne Zeichen, einschlieĂźlich Leerzeichen, Ziffern und Satzzeichen.
  • 📦 Sammlungen: len() misst die Größe von Listen, Tupeln, WörterbĂĽchern, Mengen und Bereichsobjekten auf die gleiche Weise.
  • ⚙️ Eigenschaften: len() hat eine konstante Laufzeit O(1), weil Python speichert die Länge jedes Objekts als Attribut.
  • đźš« Typfehler: Der Aufruf von len() auf einer Ganzzahl oder None fĂĽhrt zu einem TypeError, da diese Typen keine Länge haben.
  • 🤖 KI-UnterstĂĽtzung: KI-Codierungsassistenten generieren len()-PrĂĽfungen, und Machine-Learning-Pipelines verwenden len(), um Sequenzen aufzufĂĽllen und zu bĂĽndeln.

Python len() Funktion

Herausforderungen in der Python len()-Funktion?

Das len () function ist eine eingebaute Funktion in PythonMit der Funktion `len()` können Sie die Länge eines Strings, Arrays, einer Liste, eines Tupels, eines Wörterbuchs und anderer Objekte ermitteln. Da die Anzahl der Elemente im Objekt gespeichert und nicht jedes Mal neu berechnet wird, ermöglicht `len()` eine schnelle Größenprüfung und optimiert die Programmleistung.

Syntax der Python len() Funktion

Das Python Die len()-Funktion verwendet folgende Syntax:

len(value)

Kenngrößen

Wert: Das gegebene Objekt – wie beispielsweise eine Zeichenkette, Liste, ein Tupel, ein Wörterbuch oder eine Menge – dessen Länge Sie messen möchten.

RĂĽckgabewert

Die Funktion `len()` gibt eine ganze Zahl zurück, also die Anzahl der Zeichen in einer Zeichenkette oder die Anzahl der Elemente in einem Array, einer Liste oder einer Sammlung. Die genaue Bedeutung des Rückgabewerts hängt vom Typ des übergebenen Objekts ab.

  • Streicher: len() gibt die Anzahl der Zeichen in der Zeichenkette zurĂĽck, einschlieĂźlich Satzzeichen, Leerzeichen und aller Arten von Sonderzeichen.
  • Leer: Eine leere Zeichenkette oder eine leere Sammlung gibt 0 zurĂĽck, da sie keine Elemente enthält.
  • Sammlungen: Die eingebaute Funktion len() gibt die Anzahl der in einer Sammlung gespeicherten Elemente zurĂĽck.
  • Typfehler: Die Funktion `len()` ist vom Typ des ĂĽbergebenen Objekts abhängig. Die Ăśbergabe eines Werts ohne Längenangabe, wie beispielsweise einer Ganzzahl, fĂĽhrt zu einem `TypeError`.
  • Wörterbuch: Bei einem Wörterbuch wird jedes SchlĂĽssel-Wert-Paar als eine Einheit gezählt, daher gibt len() die Anzahl der SchlĂĽssel zurĂĽck.

Beispiele fĂĽr die Python len() Funktion

Die folgenden Beispiele zeigen, wie man die Funktion len() verwendet, um die Länge verschiedener Elemente zu ermitteln. Python Objekte, einschließlich Zeichenketten, Listen, Tupel, Wörterbücher und Arrays.

Beispiel 1: Wie man die Länge einer Zeichenkette ermittelt

# testing len() 
str1 = "Welcome to  Guru99 Python Tutorials"
print("The length of the string  is :", len(str1))

Ausgang:

The length of the string  is : 35

Beispiel 2: Wie man die Länge einer Liste ermittelt

# to find the length of the list

list1 = ["Tim","Charlie","Tiffany","Robert"]

print("The length of the list is", len(list1))

Ausgang:

The length of the list is 4

Beispiel 3: Wie man die Länge eines Tupels ermittelt

# to find the length of the tuple

Tup = ('Jan','feb','march')

print("The length of the tuple is", len(Tup))

Ausgang:

The length of the tuple is 3

Beispiel 4: Wie man die Länge eines Wörterbuchs ermittelt

# to find the length of the Dictionary

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}

print("The length of the Dictionary is", len(Dict))

Ausgang:

The length of the Dictionary is 4

Beispiel 5: Wie man die Länge eines Arrays ermittelt

# to find the length of the array

arr1 = ['Tim','Charlie','Tiffany','Robert']

print("The length of the Array is", len(arr1))

Ausgang:

The length of the Array is 4

Wie man die Länge einer Zeichenkette ohne len() ermittelt Python

Die Funktion `len()` ist die schnellste und übersichtlichste Methode, die Länge einer Zeichenkette zu messen. Alternativ können Sie die Zeichen auch manuell zählen. Dies ist eine gängige Aufgabe in Programmier-Interviews, und jede Methode durchläuft die Zeichenkette und erhöht dabei einen Zähler.

Die gebräuchlichste Methode verwendet eine for-Schleife:

# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
    count += 1
print("The length is", count)

Ausgang:

The length is 6

Eine kĂĽrzere Option verwendet die sum()-Funktion mit einem Generatorausdruck, wobei fĂĽr jedes Zeichen in der Zeichenkette 1 addiert wird:

mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)

Ausgang:

The length is 6

Weitere Möglichkeiten, Zeichen ohne len() zu zählen, sind die folgenden:

  • Eine While-Schleife, die die Zeichenkette so lange zerlegt, bis sie leer ist, wobei bei jedem Durchlauf ein Zähler erhöht wird.
  • Die enumerate()-Funktion, die tracks ist der Index jedes Zeichens während der Iteration.
  • Eine rekursive Funktion, die 1 plus die Länge des verbleibenden Teilstrings zurĂĽckgibt.

Diese manuellen Methoden sind langsamer als die integrierte Funktion `len()`, daher sollten sie nur zum Lernen oder für die Vorbereitung auf Vorstellungsgespräche verwendet werden. Im alltäglichen Programmierbetrieb ist `len()` nach wie vor die schnellste und übersichtlichste Option.

Wie funktioniert das? Python Funktioniert die len()-Funktion intern?

Das Verständnis der Funktionsweise von len() erklärt, warum es so schnell ist. Wenn Sie len() auf ein Objekt anwenden, Python Es durchsucht nicht jedes Element einzeln. Stattdessen ruft es die spezielle __len__()-Methode des Objekts auf, was bedeutet, dass der Ausdruck len(x) äquivalent zu x.__len__() ist.

Eingebaute Container wie Zeichenketten, Listen, Tupel, Wörterbücher und Mengen speichern ihre eigene Größe als Attribut. Jedes Mal, wenn Sie ein Element hinzufügen oder entfernen, Python aktualisiert diesen gespeicherten Zähler. Wenn len() aufgerufen wird, liest die Funktion einfach diesen zuvor gespeicherten Wert und gibt ihn zurück.

Da die Länge bereits bekannt ist, hat len() konstante Laufzeit, O(1). Die Laufzeit ist unabhängig davon, ob das Objekt fünf oder fünf Millionen Elemente enthält. Sie können len() auch in Ihre eigenen Klassen integrieren, indem Sie eine __len__()-Methode definieren, die einen Integer-Wert zurückgibt.

class Team:
    def __len__(self):
        return 11

squad = Team()
print(len(squad))

Ausgang:

11

Dieses Design ist der Grund, warum sich len() über alle eingebauten Datentypen hinweg sowie über alle benutzerdefinierten Objekte, die eine __len__()-Methode implementieren, konsistent verhält.

" Lerne mehr ĂĽber Python String-Methoden

Häufig gestellte Fragen

Ja. len() zählt jedes Zeichen in einer Zeichenkette, einschließlich Leerzeichen, Tabulatoren, Ziffern und Satzzeichen. Zum Beispiel: len(“Guru 99!") gibt 8 zurück, da das Leerzeichen und das Ausrufezeichen jeweils als ein Zeichen gezählt werden.

Die Funktion `len()` gibt für eine leere Zeichenkette 0 zurück, da diese keine Zeichen enthält. Die Funktion `len()` ist nicht nullbasiert; sie zählt die Elemente ab der Position eins, daher gibt `len("a")` 1 und `len("")` 0 zurück.

Ganze Zahlen speichern keine mehreren Elemente und haben daher keine Längenangabe. Der Aufruf von `len(123)` führt zu einem `TypeError: object of type 'int' has no len()`. Konvertieren Sie die Zahl zunächst mit `len(str(123))`, wenn Sie ihre Ziffern zählen möchten.

Ja. Bei einem Wörterbuch gibt `len()` die Anzahl der Schlüssel-Wert-Paare zurück, wobei jedes Paar nur einmal gezählt wird. Bei einer Menge gibt `len()` die Anzahl der eindeutigen Elemente zurück, da doppelte Werte automatisch verworfen werden.

Die Funktion `len()` gibt die Anzahl der Unicode-Codepunkte in einer Zeichenkette zurück. Die meisten Buchstaben und Symbole mit Akzenten zählen als ein Codepunkt. Da einige Emojis und kombinierte Zeichen jedoch mehrere Codepunkte verwenden, kann `len()` für diese mehrere Codepunkte ausgeben.

Übergeben Sie `len` als Schlüssel an die Funktion `max()`: `max(words, key=len)` gibt die längste Zeichenkette in der Liste zurück. Entsprechend gibt `min(words, key=len)` die kürzeste zurück. Dadurch entfällt das manuelle Vergleichen der Längen.

Maschinelles Lernen nutzt die Funktion `len()` ständig, um die Größe von Datensätzen zu überprüfen, die Übereinstimmung von Merkmalen und Labels zu bestätigen und Sequenzlängen zu messen. Modelle füllen oder kürzen Texte häufig auf die gleiche Länge (`len()`), damit Datenstapel die gleiche Struktur aufweisen.

Ja. GitHub Copilot vervollständigt automatisch Längenprüfungen und Zählschleifen anhand eines kurzen Kommentars, der Ihr Ziel beschreibt. Agentic AI-Assistenten gehen noch weiter: Sie schreiben Logik zur Längenvalidierung, fügen Schutzklauseln gegen TypeError hinzu und führen Ihre Tests automatisch aus.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: