Du liest:
Länge von Listen und anderen Objekten in Python bestimmen

Länge von Listen und anderen Objekten in Python bestimmen

von Patrick
10.04.2020
Jetzt Python programmieren lernen

Oft ist es in der Programmierung nötig, die Länge einer Liste oder anderer Elemente zu kennen.
Zu diesem Zweck stellt Python die interne Funktion len() zur Verfügung.
Wie man diese benutzt und wie sie eigentlich funktioniert erfährst du im folgenden Beitrag.

1. Länge einer Liste bestimmen mit Python len()

Um die Länge einer Liste in Python zu bestimmen, kannst du ganz einfach die len() Funktion nutzen.
Als Antwort erhältst du die Anzahl an Elemente in deiner Liste.

beispiel = ['foo', 'bar', 'baz']
len(beispiel)

# Output => 3

Das Ergebnis in diesem Falle wäre 3.

2. Länge von Zeichenketten und Dictionaries bestimmen mit Python len()

len() lässt sich nicht nur auf Listen anwenden, sondern auch auf andere Sequenzen wie Strings und Dictionaries.
Hier ein Beispiel der len() Methode zur Ermittlung der Länge eines Strings:

beispiel = 'Lorem ipsum'
len(beispiel)
# Output => 11

Als Ergebnis erhalten wir 11.
Das entspricht genau der Anzahl an Zeichen in der Zeichenkette.

Du kannst die Funktion ebenso gut auf Dictionaries anwenden.
Hierfür haben wir natürlich auch ein Beispiel vorbereitet:

beispiel = {'foo', 'bar'}
len(beispiel)
# Output => 2

In diesem Falle erhalten wir, genau wie bei der Liste, die Anzahl der Elemente als Antwort.
Das wäre in unserem Beispiel 2.

3. Wie funktioniert len eigentlich?

Genau genommen ruft die Funktion nur die interne Methode __len__ des Objektes auf.
Das heißt, du könntest statt len(meine_liste) auch meine_liste.__len__() schreiben.
Die Definition von len sieht demnach etwa so aus:

def len(obj):
    return obj.__len__()

Bei __len__ handelt es sich um eine sogenannte magic method, welche du auch in deinen eigenen Klassen verwenden kannst.

4. Eigene Klassen schreiben, die len() unterstützen

Wenn deine Klasse nun die Funktion len unterstützen soll, musst du lediglich die Funktion __len__ implementieren, wie im folgenden Beispiel gezeigt:

class LenTest(object):
    def __init__(self, length=5):
        self.length = length

    def __len__(self):
        return self.length

Wenn du nun ein Objekt der Klasse ohne Parameter erstellst, erhältst du den in __init__ festgelegten Standardwert zurück.

len_test = LenTest()
len(len_test)
# Output => 5

Als Antwort erhalten wir wie zuvor festgelegt 5.
Also funktioniert die Funktion wie gewünscht.

Da wir in dem Beispiel den Parameter length implementiert haben, ist es hier auch möglich, einen anderen Wert festzulegen, welcher dann entsprechend bei Aufruf von len ausgegeben wird.

len_test = LenTest(42)
len(len_test)
# Output => 42

5. Fazit

Mit len steht uns eine Funktion zur Verfügung, die es einfach macht, die Länge verschiedener Objekte abzufragen und diese Funktion auch für deine eigenen Klassen einfach nutzbar zu machen.

Sind Fragen offen geblieben? Hast du irgendwelche Fehler gefunden?
Bitte lass es mich in den Kommentaren wissen. Auch wenn dir dieser Post gefallen hat, würde ich mich sehr freuen, wenn du mir das über die Kommentarfunktion mitteilst!



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren