Tupel Comprehensions in Python
Die Programmiersprache Python hat eine einfache und leicht verständliche Syntax. Die Syntax ist so einfach, dass man mit Python schnell Einzeiler-Codes schreiben kann. Eine solche Funktion ist die Listeniteration oder das List Comprehensions. Wir können über eine Liste iterieren und schnell eine neue Liste mit Quadraten von Listenelementen zurückgeben, indem wir dies tun [i ** 2 for i in [1, 2, 3, 4, 5, 6, 7]]
. Gleiches gilt für Wörterbücher; sie können auch in einer einzigen Zeile durchlaufen werden.
Python hat verschiedene lineare Datenstrukturen wie Listen, Tupel usw. Das oben gezeigte List Comprehensions gilt nicht für Tupel. Das bedeutet, dass wir (i ** 2 for i in (1, 2, 3, 4, 5, 6, 7))
nicht ausführen können. Dies wird einen Fehler auslösen. Wenn dies nicht möglich ist, wie führen wir das Tupelverständnis in einer einzigen Zeile in Python durch? In diesem Artikel wird darüber gesprochen.
Tupelverständnis in Python
Man kann Tupelverständnis in Python mit der folgenden Syntax durchführen.
x = tuple(i for i in (1, 2, 3, 4, 5, 6, 7))
print(x)
print(type(x))
y = tuple(i ** 2 for i in (1, 2, 3, 4, 5, 6, 7))
print(y)
print(type(y))
Ausgabe:
(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>
(1, 4, 9, 16, 25, 36, 49)
<class 'tuple'>
Python 3.5 hat eine neue Methode zum Tupelverständnis entwickelt. Es war der Prozess des Auspackens. Mit *
können wir das Entpacken durchführen. Siehe den folgenden Code für dasselbe.
x = (*(i for i in [1, 2, 3, 4, 5, 6, 7]),) # Notice the comma (,) at the end
print(x)
print(type(x))
Ausgabe:
(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>
Beachten Sie, dass diese Syntax dem Schreiben von x = tuple([i for i in [1, 2, 3, 4, 5, 6, 7]])
entspricht.
x = tuple([i for i in [1, 2, 3, 4, 5, 6, 7]])
print(x)
print(type(x))
Ausgabe:
(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>