Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt es in Python kein Tupelverständnis?

Warum gibt es in Python kein Tupelverständnis?

Barbara Streisand
Barbara StreisandOriginal
2024-11-05 00:35:02468Durchsuche

Why are There No Tuple Comprehensions in Python?

Enthüllung des fehlenden Tupelverständnisses in Python

Im Bereich Python sind Listen- und Wörterbuchverständnisse allgegenwärtig und wandeln iterierbare Elemente nahtlos in maßgeschneiderte Listen um und Wörterbücher. Seltsamerweise scheint Tupeln ein dedizierter Verständnismechanismus zu fehlen, sodass Benutzer sich über dessen Fehlen wundern.

Unveränderlichkeit von Tupeln

Man könnte zunächst annehmen, dass die Unveränderlichkeit von Tupeln dies ausschließt Verständnis. Diese Theorie greift jedoch zu kurz, da andere unveränderliche Typen, wie z. B. Strings, gerne Verständnisse annehmen.

Historische Ursprünge

Der zugrunde liegende Grund liegt in einer historischen Entscheidung von Python Schöpfer. Als Generatorausdrücke (in Klammern gesetzte Ausdrücke, die Iteratoren erzeugen) eingeführt wurden, wurde es als unnötig erachtet, eine separate Syntax für das Tupelverständnis zu erstellen. Klammern waren bereits die gewählte Notation für Generatoren, und die Bereitstellung einer zusätzlichen Tupel-spezifischen Syntax hätte zu Redundanz geführt.

Generator-Ausdruck zur Rettung

Wenn das Fehlen von a Die Syntax des Tupelverständnisses stellt ein Hindernis dar, keine Angst! Python bietet eine Problemumgehung, indem es Klammern verwendet, um einen Generatorausdruck zu erstellen:

<code class="python">tuple(i for i in (1, 2, 3))</code>

Dieser Ausdruck ergibt ein Tupel, das die gewünschten Elemente enthält.

Das obige ist der detaillierte Inhalt vonWarum gibt es in Python kein Tupelverständnis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn