Volver a Python Básico
Listas y Tuplas
Las listas y tuplas son secuencias ordenadas. Las listas son mutables; las tuplas son inmutables.
Listas
frutas = ["manzana", "banana", "cereza"]
# Acceso por índice
print(frutas[0]) # manzana
print(frutas[-1]) # cereza (último)
# Segmentación (slicing)
print(frutas[1:3]) # ['banana', 'cereza']
Métodos de Lista
nums = [3, 1, 4, 1, 5, 9, 2, 6]
nums.append(7) # Agregar al final
nums.insert(0, 0) # Insertar en índice
nums.remove(1) # Eliminar primera ocurrencia
extraido = nums.pop() # Eliminar y retornar último
nums.sort() # Ordenar en su lugar
nums.reverse() # Invertir en su lugar
nums.clear() # Eliminar todos los elementos
longitud = len(nums)
cantidad = nums.count(1) # Contar ocurrencias
indice = nums.index(4) # Encontrar índice
Comprensiones de Lista
# [expresión for item in iterable if condición]
cuadrados = [x**2 for x in range(10)]
pares = [x for x in range(20) if x % 2 == 0]
nombres_mayus = [n.upper() for n in ["alice", "bob"]]
Tuplas
punto = (10, 20)
rgb = (255, 128, 0)
# Desempaquetado
x, y = punto
r, g, b = rgb
# Tupla de un elemento (nota la coma)
individual = (42,)
# Tupla nombrada
from collections import namedtuple
Persona = namedtuple("Persona", ["nombre", "edad"])
alice = Persona("Alice", 30)
print(alice.nombre) # Alice
Cuándo Usar Cada Una
| Característica | Lista | Tupla |
|---|---|---|
| Mutable | Sí | No |
| Rendimiento | Más lento | Más rápido |
| Uso | Datos dinámicos | Datos fijos |
| Hasheable | No | Sí (si sus elementos lo son) |
Funciones Integradas Útiles
numeros = [5, 3, 8, 1, 9, 2]
print(min(numeros)) # 1
print(max(numeros)) # 9
print(sum(numeros)) # 28
print(sorted(numeros)) # [1, 2, 3, 5, 8, 9] (nueva lista)
Idea clave: Usa tuplas para datos que no deben cambiar (coordenadas, colores RGB, registros de BD). Usa listas para colecciones que vas a modificar.