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.