Dictionary aufzählen in Python

Manav Narula 10 Oktober 2023
Dictionary aufzählen in Python

Die Funktion enumerate() in Python gibt ein Objekt vom Typ enumerate() zurück und fügt eine Zählervariable hinzu, um über eine Liste oder eine andere Art von Sammlung zu iterieren. Sie erleichtert das Schleifenlaufen über solche Objekte.

Wir können uns den Inhalt eines enumerate-Objekts ansehen, wenn wir es an die Funktion list() übergeben. Ein Beispiel:

l = ["a", "b", "c"]
print(list(enumerate(l)))

Ausgabe:

[(0, 'a'), (1, 'b'), (2, 'c')]

Wir können die Funktion enumerate() auch mit Dictionary verwenden.

Das folgende Beispiel zeigt ein elementares Beispiel.

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1):
    print(i, j)

Ausgabe:

0 a
1 b
2 c

Beachten Sie, dass wir das Dictionary direkt an die Funktion enumerate() übergeben haben und diese die Zählervariable nur den Schlüsseln des Dictionaries und nicht den Werten zugewiesen hat. Wenn wir also über dieses Objekt iterieren, können wir nur auf die Zählervariable und die Schlüssel des Dictionaries zugreifen.

Um sowohl die Schlüssel als auch die Werte aufzuzählen, können wir die Methode items() des Dictionaries verwenden. Die Methode items() gibt ein Objekt mit den Schlüssel-Werte-Paaren als Tupel zurück. Das folgende Beispiel zeigt, wie wir die Methode items() mit der Funktion enumerate() verwenden und sowohl auf den Schlüssel als auch auf den entsprechenden Wert zugreifen können.

d1 = {"a": 15, "b": 18, "c": 20}

for i, (j, k) in enumerate(d1.items()):
    print(i, j, k)

Ausgabe:

0 a 15
1 b 18
2 c 20

Wenn wir nur die Dictionaryelemente ohne ihre Schlüssel wollen, können wir die Funktion values() verwenden. Sie gibt eine Liste mit den Werten des Dictionaries zurück.

Der folgende Code zeigt, wie es geht:

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1.values()):
    print(i, j)

Ausgabe:

0 15
1 18
2 20
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python Dictionary