Direkt zum Inhalt

Python len(): Ein Einsteigerhandbuch zum Zählen von Elementen in Python

Lerne, wie du mit der Python-Funktion len() schnell die Größe von Strings, Listen, Wörterbüchern und anderen Datenstrukturen ermitteln kannst. Entdecke praktische Beispiele und häufige Fehler, die du bei der Arbeit mit len() in deinem eigenen Code vermeiden kannst.
Aktualisierte 23. Juni 2025  · 6 Min. Lesezeit

Die Funktion len() ist eines der ersten Werkzeuge, auf die Python-Programmierer/innen zurückgreifen, um Daten zu untersuchen. Wenn du unseren Kurs "Einführung in Python für Entwickler" oder unseren Lernpfad "Grundlagen der Python-Programmierung " durcharbeitest, wirst du sicher auf len() gestoßen sein.h

In diesem Artikel zeige ich dir, wie len() in Python für alle gängigen Datentypen funktioniert, und ich zeige dir, worauf du achten musst, wenn etwas schief läuft.

Was macht die Python-Funktion len()?

Du kannst die in Python eingebaute Funktion len() verwenden, wenn du wissen willst, wie viele Elemente etwas enthält. Ich denke dabei an das Zählen der Anzahl der Elemente in einer Liste oder an das Zählen der Anzahl der Zeichen in einer Zeichenkette. Du kannst sie auch verwenden, um die Schlüssel in einem Wörterbuch zu zählen. Es gibt alle möglichen Arten von Verwendungen.

Hier siehst du, wie du sie in ihrer grundlegendsten Form verwendest:

len(object)

Setze einfach das, was du messen willst (wie die Dinge, die ich oben aufgeführt habe), an die Stelle von object.

Verwendung von len() mit gängigen Python-Datentypen

Ich habe oben einige häufige Anwendungsfälle aufgelistet, aber sie waren alle ein wenig abstrakt. Gehen wir gängige Beispiele durch, um den Nutzen von len() zu verdeutlichen.

Zählen von Zeichen in einer Zeichenkette

Angenommen, du willst die genaue Länge eines Textes wissen, einschließlich aller Leerzeichen und Satzzeichen:

word = "Josef"
print(len(word))

Dies gibt 5 aus, da das Wort "Josef" (mit einem "f") aus fünf Zeichen besteht.

Prüfen der Anzahl der Elemente in einer Liste

Wenn du herausfinden willst, wie viele Einträge eine Liste enthält, kannst du dies verwenden:

numbers = [10, 20, 30, 40, 50]
print(len(numbers))

Hier siehst du 5 als Ausgabe.

Die Größe eines Tupels ermitteln

Tupel gruppieren, ähnlich wie Listen, Elemente, sind aber unveränderlich, d.h. sie können nach der Erstellung nicht mehr geändert werden. len() funktioniert auch hier:

dimensions = (1920, 1080)
print(len(dimensions))

Dies ergibt 2, da das Tupel zwei Elemente speichert.

Zählen der Schlüssel in einem Wörterbuch

In Python-Wörterbüchern dreht sich alles um Schlüssel-Wert-Paare. Wenn du len() für ein Wörterbuch verwendest, zählt es nur die Schlüssel:

person = {"name": "Alice", "age": 30, "city": "Paris"}
print(len(person))

Du bekommst also 3 (eine für jeden Schlüssel).

Eindeutige Elemente in einer Menge prüfen

Sets sind praktisch, wenn du nur einmalige Gegenstände aufbewahren willst. len() wird dir das sagen:

colors = {"red", "green", "blue", "red"}
print(len(colors))

Dies ergibt 3, da "red" zweimal vorkommt, aber nur einmal gezählt wird.

Wie len() unter der Haube funktioniert

Vielleicht fragst du dich wie ich, wie len() eigentlich die Größe bestimmt.

Wenn du len() für ein Objekt aufrufst, sucht Python nach der Methode __len__ für dieses Objekt. Eingebaute Typen wie Listen, Strings und Dictionaries haben alle diese Methode.

Wenn wir also eine eigene Klasse erstellen und wollen, dass len() mit ihr arbeitet, müssen wir selbst eine __len__ Methode definieren:

class Box:
    def __init__(self, items):
        self.items = items

    def __len__(self):
        return len(self.items)

my_box = Box(["apple", "banana", "orange"])
print(len(my_box))

Hier gibt len() 3 zurück, weil die Box drei Gegenstände enthält. Genau wie bei Listen und Strings passt sich len() an, solange das Objekt eine __len__ Methode anbietet.

Was passiert, wenn len() nicht funktioniert?

Natürlich hat nicht alles in Python eine Länge. Wenn du versuchst, len() für etwas zu verwenden, das es nicht unterstützt (ich zeige es dir gleich anhand eines int Datentyps), weist dich Python mit einem TypeError darauf hin. Das ist ein häufiges Problem, vor allem wenn du mit gemischten Datentypen arbeitest. Zum Beispiel:

num = 42 
print(len(num))

Dies löst den folgenden Fehler aus:

TypeError: object of type 'int' has no len()

Wenn du dies siehst, überprüfe, ob es sich bei dem Objekt, das du misst, tatsächlich um einen Container oder eine Sequenz (String, Liste oder Wörterbuch) handelt und nicht um einen einzelnen Wert wie eine Ganzzahl oder einen Float.

Einige praktische len()-Anwendungsfälle

Wir sollten nicht versuchen, die Beispiele so zu überhöhen, dass sie mehr an reale Programmiersituationen erinnern.

Schleifen mit einem Bereich

Wenn du eine Liste mit Hilfe ihrer Indizes in einer Schleife durchlaufen musst, hilft dir len() dabei, den richtigen Bereich für deine Schleife festzulegen:

fruits = ["apple", "banana", "cherry"]

for i in range(len(fruits)):
    print(f"Index {i}: {fruits[i]}")

Dadurch wird jede Frucht zusammen mit ihrem Index ausgedruckt, was dir sowohl Ordnung als auch Kontext gibt.

Index 0: apple
Index 1: banana
Index 2: cherry

Kontrolle auf leere Behälter

Häufig willst du wissen, ob ein Container - wie eine Liste oder ein Wörterbuch - leer ist, bevor du fortfährst:

cart = []

if len(cart) == 0:
    print("Your shopping cart is empty.")

Dieses Muster hilft dir, Fehler oder unnötige Bearbeitungen zu vermeiden, wenn es nichts gibt, womit du arbeiten kannst.

Lange Zeichenketten abschneiden

Wenn du mit Benutzereingaben arbeitest oder Beschriftungen anzeigst, möchtest du vielleicht die Länge von Strings begrenzen. len() hilft dir, diese Grenzen durchzusetzen:

username = "superlongusername"

if len(username) > 10:
    username = username[:10]
    print(username)

Hier werden alle Benutzernamen, die länger als 10 Zeichen sind, gekürzt.

Häufige Fehler mit len()

len() kann dich in die Irre führen, selbst wenn du schon etwas Erfahrung mit Python hast:  

  • Du versuchst, len() auf Ganzzahlen oder Fließkommazahlen anzuwenden: Zahlen sind keine Sammlungen, also haben sie auch keine Länge.

  • Du vergisst, dass len() Elemente zählt, nicht Werte: In einem Wörterbuch zählt len die Schlüssel - auch wenn mehrere Schlüssel auf denselben Wert verweisen.

  • Angenommen, len() funktioniert bei allem: Benutzerdefinierte Klassen brauchen eine __len__ Methode, sonst weiß len() nicht, was sie tun sollen.

Versuche, dir diese Regeln zu merken, um Zeit bei der Fehlersuche zu sparen.

Fehlerbehandlung mit len()

Da len() bei Missbrauch eine TypeError auslösen kann, ist es ratsam, deinen Code auf diese Möglichkeit vorzubereiten, besonders wenn du mit unvorhersehbaren Daten arbeitest. Ein try-except-Block ist ein einfacher Weg, um solche Fehler elegant zu behandeln:

data = 123

try:
    print(len(data))
except TypeError:
    print("Object has no length.")

Anstatt abzustürzen, gibt dein Programm jetzt eine freundliche Meldung aus. Unser Kurs "Objektorientierte Programmierung in Python " ist eine großartige Ressource, um diese Art von Aufgaben zu bewältigen. 

len() mit benutzerdefinierten Klassen verwenden

Kehren wir zu den benutzerdefinierten Klassen zurück. Eine benutzerdefinierte Klasse ist jede Klasse, die du selbst mit dem Schlüsselwort class definierst - zum Beispiel, wenn du etwas Spezielles für dein Programm modellierst, wie Team, Box oder Library. Vorhin hast du gesehen, dass len() bei eingebauten Typen wie Listen und Dictionaries funktioniert, weil sie eine spezielle Methode namens __len__() implementieren. Das Gleiche gilt für deinen eigenen Unterricht. Wenn du willst, dass len() an ihnen arbeitet, musst du __len__() selbst definieren.

Ich versuche nicht, dich mit technischen Details zu langweilen. Das ist wichtig, wenn du eigene Datencontainer erstellst, die sich wie native Python-Sammlungen verhalten sollen. Durch die Unterstützung von len() können deine Objekte natürlicher mit dem Rest des Python-Ökosystems interagieren, einschließlich anderer Funktionen und Bibliotheken.

Hier ist eine kurze Zusammenfassung:

class Team:
    def __init__(self, players):
        self.players = players

    def __len__(self):
        return len(self.players)

my_team = Team(["Alice", "Bob", "Cathy"])
print(len(my_team))

Auch hier gibt len() 3 zurück, was die richtige Antwort ist, da dies die Anzahl der Spieler in deinem Team ist.

Fazit

Wenn du das nächste Mal in Python etwas zählen, messen oder seine Größe überprüfen musst, denk daran, dass len() eine gute Option ist.

Aber jetzt, wo wir am Ende angelangt sind, möchte ich noch eine wichtige Sache erwähnen. Wir haben uns auf eine Funktion konzentriert, aber es gibt fast immer viele verschiedene Möglichkeiten, etwas in Python zu erreichen. Wir haben einen Artikel, der sogar viele verschiedene Möglichkeiten zeigt, die Länge einer Liste zu ermitteln, von denen die Funktion len() nur eine Möglichkeit ist: Python Listengröße: 8 verschiedene Methoden, um die Länge einer Liste in Python zu ermitteln.

Übe immer wieder neue Methoden ein. Das ist ein todsicherer Weg, um dich zu einem besseren Programmierer zu machen. Und vergiss nicht, dich für unseren Lernpfadzur Python-Programmierung anzumelden , in dem du lernst, wie man Code optimiert, Funktionen und Tests schreibt und vieles mehr.


Josef Waples's photo
Author
Josef Waples
Themen

Lerne Python mit DataCamp

Kurs

Introduction to Python

4 Std.
6.3M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Der Blog

Die 50 besten AWS-Interview-Fragen und Antworten für 2025

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interviewfragen, zusammen mit Fragen, die auf realen Situationen basieren.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Mehr anzeigenMehr anzeigen