Liste vs tuple vs set in Python

Python ha tre modi comuni per tenere insieme più valori. Una lista può cambiare e tiene l'ordine, una tupla è un record fisso e un set dimentica i duplicati. Ogni esempio sotto è stato eseguito, e l'output mostrato è esatto.

Liste: ordine, e possono cambiare

Una lista è la collezione predefinita: append aggiunge in fondo, e un ciclo for percorre gli elementi in ordine. Usa una lista quando il gruppo crescerà o si ridurrà, come un inventario.

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

Output:

['wrench', 'cable']

Tuple: un record fisso

Una tupla non si può modificare sul posto. Questo la rende adatta a una coordinata o a qualsiasi coppia che vuoi spacchettare in due nomi. Restituire due valori da una funzione costruisce anch'essa una tupla.

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

Output:

3
4

Set: elementi unici

Un set butta i duplicati e risponde in fretta a "c'è qui dentro?". Il set vuoto è set(), perché {} è un dizionario vuoto. set(needed) <= set(have) chiede se ogni elemento necessario è già presente.

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

Output:

True

Domande comuni

Posso usare una tupla come chiave di dizionario?
Sì, perché una tupla non può cambiare. Una lista non può essere una chiave. È un motivo per cui le coordinate sono spesso tuple.
Come creo un set vuoto?
Chiama set(). Scrivere {} dà un dizionario vuoto.
Quando scelgo un set invece di una lista?
Quando i duplicati non contano e ti interessa l'appartenenza, come "ho ogni pezzo di questa ricetta?"

Esercitati