Python: Tuple konstruieren mit „tuple()“ oder mit und ohne runde Klammern
In Python können Tuples auf verschiedene Arten konstruiert werden. Sie sind unveränderlich (immutable) und werden meist verwendet, um Daten gruppiert darzustellen. Nachfolgend finden sich die gängigen Konstruktionen:
1. Mit runden Klammern ( )
Ein Tuple wird mit runden Klammern erstellt. Die Elemente innerhalb des Tuples werden durch Kommata getrennt.
# Beispiele für Tuples
zahlen = (1, 2, 3)
namen = ("Alice", "Bob", "Charlie")
gemischt = (1, "Hallo", 3.14, True)
2. Ohne Klammern (Tuple-Packing)
Ein Tuple kann auch ohne runde Klammern erstellt werden, wenn die Werte einfach durch Kommata getrennt werden. Das nennt man Tuple-Packing.
# Tuple, erstellt ohne runde Klammern
zahlen = 1, 2, 3
print(zahlen) # (1, 2, 3)
3. Mit der tuple()
Funktion
Ein leeres Tuple oder ein Tuple aus einem iterierbaren Objekt (z. B. String, Liste) kann mit der tuple()
-Funktion erstellt werden.
# Leeres Tuple erstellen
leeres_tuple = tuple()
# Tuple aus einem String
aus_string = tuple("Python") # ('P', 'y', 't', 'h', 'o', 'n')
# Tuple aus einer Liste
aus_liste = tuple([1, 2, 3]) # (1, 2, 3)
4. Single-Element-Tuple (einzelnes Element)
Für ein Tuple mit nur einem Element muss zwingend ein Komma ,
nach dem Element hinzugefügt werden. Ohne Komma wird es nicht als Tuple, sondern als einfacher Wert interpretiert.
# Nicht ein Tuple, sondern nur eine Zahl
zahlen = (5) # Typ: int, kein Tuple
# Ein echtes Tuple mit einem Element
ein_element = (5,)
print(type(ein_element)) # <class 'tuple'>
5. Verschachtelte Tuples
Tuples können andere Tuples (oder andere iterierbare Objekte) enthalten, ähnlich wie verschachtelte Listen.
# Ein Tuple mit verschachtelten Tuples
verschachtelt = ((1, 2), (3, 4), (5, 6))
print(verschachtelt[0]) # (1, 2)
6. Tuple durch Umwandlung oder Unpacking
Tuples können auch als Ergebnis von Funktionen, Schleifen oder durch Unpacking von iterierbaren Objekten entstehen.
# Tuple beim Unpacking
a, b, c = (1, 2, 3)
print(a, b, c) # 1 2 3
# Tuple erstellen aus einer range()
aus_range = tuple(range(5)) # (0, 1, 2, 3, 4)
Zusammenfassung der Eigenschaften
- Immutable: Nach der Konstruktion kann ein Tuple nicht mehr verändert werden.
- Heterogen: Kann Elemente verschiedener Datentypen enthalten.
- Leistung: Meist schneller als Listen, da sie unveränderlich sind.