Was sind "benannte Tupel" in Python?
"Benannte Tupel" in Python sind eine Unterklasse des integrierten tuple
-Typs, haben aber die zusätzliche Möglichkeit, Elemente per Namen statt nur per Index aufzurufen. Sie werden mit der Funktion collections.namedtuple()
definiert, die zwei Argumente nimmt: den Namen der neuen Tupelklasse und einen String mit Leerzeichen getrennten Feldnamen.
Hier ist ein Beispiel-Code-Schnipsel, der zeigt, wie man ein benanntes Tupel verwendet:
from collections import namedtuple
# Define a named tuple type called "Person" with fields "name" and "age"
Person = namedtuple("Person", "name age")
# Create an instance of the Person named tuple
p = Person("Alice", 25)
# Access the fields by name
print(p.name) # Output: "Alice"
print(p.age) # Output: 25
# Access the fields by index
print(p[0]) # Output: "Alice"
print(p[1]) # Output: 25
Sie können auch das Attribut _fields
der benannten Tupelklasse verwenden, um ein Tupel der Feldnamen zu erhalten, und die Methode _asdict()
, um ein sortiertes Wörterbuch aus einem benannten Tupel zu erhalten.