Tupel: Unterschied zwischen den Versionen
Sn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Sn (Diskussion | Beiträge) (section abou tuples in python) |
||
Zeile 1: | Zeile 1: | ||
Ein '''Tupel''' ist eine Art, mathematische Objekte zusammenzufassen. Im Gegensatz zur ''Menge'' dürfen Objekte dabei mehrfach vorkommen | Ein '''Tupel''' ist eine Art, mathematische Objekte zusammenzufassen. Im Gegensatz zur ''[[Menge]]'' dürfen Objekte dabei mehrfach vorkommen, die Reihenfolge der Elemente spielt eine Rolle und die Größe eines Tupels ist nicht veränderbar. Tupel werden in runden Klammern notiert: <math>(1, 2, 3)</math> | ||
Für die Informatik spielen Tupel insbesondere als Elemente von [[Relation|Relationen]] in [[Datenbank|Datenbanken]] eine Rolle. | Für die Informatik spielen Tupel insbesondere als Elemente von [[Relation|Relationen]] in [[Datenbank|Datenbanken]] eine Rolle. | ||
== Tupel in Python == | |||
Tupel sind auch als [[Datentyp]] in [[Python]] eingebaut. Genau wie in der Mathematik werden auch in Python Tupel in runden Klammern notiert:<syntaxhighlight lang="python" line="1"> | |||
tuple_mc_tupleface = (1, 2, 3) | |||
</syntaxhighlight>Genau wie bei Listen kann auf die Elemente von Tupeln über Indizes in eckigen Klammern zugegriffen werden, allerdings nur zum Lesen:<syntaxhighlight lang="python" line="1" start="2"> | |||
tuple_mc_tupleface[0] | |||
# ergibt 1 | |||
tuple_mc_tupleface[0] = 23 | |||
# ergibt einen TypeError | |||
</syntaxhighlight>Alternativ kann auch die Methode des ''Sequence Unpacking'' genutzt werden und jedes Element eines Tupels einer Variablen zugewiesen werden:<syntaxhighlight lang="python" line="1" start="6"> | |||
a, b, c = tuple_mc_tupleface | |||
# a = 1 | |||
# b = 2 | |||
# c = 3 | |||
</syntaxhighlight>Tatsächlich kann ''Sequence Unpacking'' auch bei [[Liste|Listen]] verwendet werden. Für den Einsatz mit Tupeln ist es aber besonders geeignet, weil beim ''Sequence Unpacking'' die Anzahl der angegebenen Variablen exakt mit der Anzahl der Elemente der Liste übereinstimmen muss. Bei Tupeln kann dies durch die feste Länge gewährleistet werden, bei Listen muss man vorsichtiger sein. | |||
Besonderheiten ergeben sich bei null- und einelementigen Tupeln. Diese werden wie folgt notiert:<syntaxhighlight lang="python" line="1" start="10"> | |||
empty_tuple = () | |||
singleton_tuple = (42,) | |||
# Das Komma muss angegeben werden, | |||
# weil (42) ein arithmetischer Ausdruck ist, | |||
# der zur Zahl 42 ausgewertet wird. | |||
</syntaxhighlight> | |||
== Links == | |||
* [https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences "Tuples and Sequences" in der Python-Dokumentation 🇬🇧] | |||
[[Kategorie:Datenbanken]] | [[Kategorie:Datenbanken]] |
Version vom 13. Februar 2023, 00:15 Uhr
Ein Tupel ist eine Art, mathematische Objekte zusammenzufassen. Im Gegensatz zur Menge dürfen Objekte dabei mehrfach vorkommen, die Reihenfolge der Elemente spielt eine Rolle und die Größe eines Tupels ist nicht veränderbar. Tupel werden in runden Klammern notiert:
Für die Informatik spielen Tupel insbesondere als Elemente von Relationen in Datenbanken eine Rolle.
Tupel in Python
Tupel sind auch als Datentyp in Python eingebaut. Genau wie in der Mathematik werden auch in Python Tupel in runden Klammern notiert:
tuple_mc_tupleface = (1, 2, 3)
Genau wie bei Listen kann auf die Elemente von Tupeln über Indizes in eckigen Klammern zugegriffen werden, allerdings nur zum Lesen:
tuple_mc_tupleface[0]
# ergibt 1
tuple_mc_tupleface[0] = 23
# ergibt einen TypeError
Alternativ kann auch die Methode des Sequence Unpacking genutzt werden und jedes Element eines Tupels einer Variablen zugewiesen werden:
a, b, c = tuple_mc_tupleface
# a = 1
# b = 2
# c = 3
Tatsächlich kann Sequence Unpacking auch bei Listen verwendet werden. Für den Einsatz mit Tupeln ist es aber besonders geeignet, weil beim Sequence Unpacking die Anzahl der angegebenen Variablen exakt mit der Anzahl der Elemente der Liste übereinstimmen muss. Bei Tupeln kann dies durch die feste Länge gewährleistet werden, bei Listen muss man vorsichtiger sein. Besonderheiten ergeben sich bei null- und einelementigen Tupeln. Diese werden wie folgt notiert:
empty_tuple = ()
singleton_tuple = (42,)
# Das Komma muss angegeben werden,
# weil (42) ein arithmetischer Ausdruck ist,
# der zur Zahl 42 ausgewertet wird.