Eine Liste vs. Tupelsituation in Python

8

Gibt es eine Situation, in der die Verwendung einer Liste zu einem Fehler führt und Sie stattdessen ein Tupel verwenden müssen?

Ich weiß etwas über die Eigenschaften von Tupeln und Listen, aber nicht genug, um die Antwort auf diese Frage herauszufinden. Wenn die Frage umgekehrt wäre, könnten Listen angepasst werden, Tupel jedoch nicht.

    
Alphonse 17.02.2010, 13:17
quelle

3 Antworten

14

Sie können Tupel als Wörterbuchschlüssel verwenden, da sie unveränderlich sind, aber Sie können keine Listen verwenden. ZB:

%Vor%     
Max Shawabkeh 17.02.2010, 13:23
quelle
9

Aufgrund ihrer unveränderlichen Natur sind Tupel (im Gegensatz zu Listen) hashbar . Dies ermöglicht Tupel, Schlüssel in Wörterbüchern und auch in Sets zu sein. Streng genommen zählt ihre Beherrschbarkeit, nicht ihre Unveränderlichkeit.

Neben der bereits gegebenen Wörterbuchschlüsselantwort gibt es noch ein paar andere Dinge, die für Tupel, aber nicht für Listen funktionieren:

%Vor%     
Scott Griffiths 18.02.2010 10:30
quelle
3

Bei String-Formatierung sind Tupel obligatorisch:

%Vor%

Die Verwendung einer Liste in diesem Beispiel erzeugt den Fehler "nicht genug Argumente für Formatstring", da eine Liste als ein Argument betrachtet wird. Seltsam aber wahr.

    
Olivier Verdier 12.03.2010 07:25
quelle

Tags und Links