Listas vs tuplas vs conjuntos en Python

Python tiene tres formas habituales de guardar varios valores juntos. Una lista puede cambiar y conserva el orden, una tupla es un registro fijo y un conjunto olvida duplicados. Cada ejemplo de abajo se ejecutó, y la salida mostrada es exacta.

Listas: orden, y pueden cambiar

Una lista es la colección por defecto: append añade al final, y un bucle for recorre los elementos en orden. Usa una lista cuando el grupo crezca o mengüe, como un inventario.

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

Salida:

['wrench', 'cable']

Tuplas: un registro fijo

Una tupla no se puede editar in situ. Eso la hace adecuada para una coordenada o cualquier par que quieras desempaquetar en dos nombres. Devolver dos valores de una función también construye una tupla.

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

Salida:

3
4

Conjuntos: elementos únicos

Un conjunto tira duplicados y responde rápido a "¿está esto aquí?". El conjunto vacío es set(), porque {} es un diccionario vacío. set(needed) <= set(have) pregunta si cada elemento necesario ya está presente.

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

Salida:

True

Preguntas frecuentes

¿Puedo usar una tupla como clave de diccionario?
Sí, porque una tupla no puede cambiar. Una lista no puede ser clave. Esa es una razón por la que las coordenadas suelen ser tuplas.
¿Cómo hago un conjunto vacío?
Llama a set(). Escribir {} te da un diccionario vacío.
¿Cuándo elijo un conjunto en vez de una lista?
Cuando los duplicados no importan y te importa la pertenencia, como "¿tengo cada pieza de esta receta?"

Practícalo