Python Listen vs. Tupel vs. Sets

Python hat drei übliche Wege, mehrere Werte zusammenzuhalten. Eine Liste kann sich ändern und behält die Reihenfolge, ein Tupel ist ein fester Datensatz, und ein Set vergisst Duplikate. Jedes Beispiel unten wurde ausgeführt, und die gezeigte Ausgabe ist exakt.

Listen: Reihenfolge, und sie können sich ändern

Eine Liste ist die Standard-Sammlung: append fügt am Ende hinzu, und eine for-Schleife geht die Elemente in Reihenfolge durch. Nimm eine Liste, wenn die Gruppe wachsen oder schrumpfen wird, etwa ein Inventar.

parts = ["wrench"]
parts.append("cable")
print(parts)

Ausgabe:

['wrench', 'cable']

Tupel: ein fester Datensatz

Ein Tupel lässt sich nicht an Ort und Stelle ändern. Das macht es gut für eine Koordinate oder jedes Paar, das du in zwei Namen entpacken willst. Zwei Werte aus einer Funktion zurückzugeben baut ebenfalls ein Tupel.

point = (3, 4)
x, y = point
print(x)
print(y)

Ausgabe:

3
4

Sets: einzigartige Elemente

Ein Set wirft Duplikate weg und beantwortet "ist das hier drin?" schnell. Das leere Set ist set(), weil {} ein leeres Dictionary ist. set(needed) <= set(have) fragt, ob jedes benötigte Element schon da ist.

needed = {"wrench", "cable"}
have = ["wrench", "cable", "chip", "wrench"]
print(needed <= set(have))

Ausgabe:

True

Häufige Fragen

Kann ich ein Tupel als Dictionary-Schlüssel verwenden?
Ja, weil ein Tupel sich nicht ändern kann. Eine Liste kann kein Schlüssel sein. Das ist ein Grund, warum Koordinaten oft Tupel sind.
Wie mache ich ein leeres Set?
Rufe set() auf. {} schreibt ein leeres Dictionary.
Wann sollte ich ein Set statt einer Liste nehmen?
Wenn Duplikate egal sind und es um Mitgliedschaft geht, etwa "habe ich jedes Teil dieses Rezepts?"

Übe es