Ir al contenido

Listas, diccionarios y tuplas

Las colecciones guardan varios valores. Elegir bien la estructura evita mucho codigo torcido.

Una lista mantiene orden y se puede modificar.

tareas = ["leer", "practicar", "descansar"]
tareas.append("repasar")
print(tareas)
print(tareas[0])
print(len(tareas))

Salida:

['leer', 'practicar', 'descansar', 'repasar']
leer
4
OperacionDevuelve
tareas[0]"leer"
len(tareas)4
tareas.append("repasar")None
"leer" in tareasTrue

Un diccionario guarda pares clave-valor.

usuario = {
"nombre": "Sofia",
"edad": 31,
"activo": True,
}
print(usuario["nombre"])
print(usuario.get("email", "sin email"))

Salida:

Sofia
sin email
usuario["email"] = "sofia@example.com"
usuario["edad"] = 32
print(usuario)

Salida aproximada:

{'nombre': 'Sofia', 'edad': 32, 'activo': True, 'email': 'sofia@example.com'}
for clave, valor in usuario.items():
print(f"{clave}: {valor}")

Salida:

nombre: Sofia
edad: 32
activo: True
email: sofia@example.com

Una tupla mantiene orden y no se modifica. Sirve para datos que van juntos.

coordenada = (-34.9, -56.2)
latitud, longitud = coordenada
print(latitud)
print(longitud)

Salida:

-34.9
-56.2

Un set guarda valores unicos.

etiquetas = {"python", "web", "python", "datos"}
print(etiquetas)
print("web" in etiquetas)

Salida posible:

{'datos', 'python', 'web'}
True

El orden puede cambiar, porque un set no esta pensado para posiciones.

numeros = [1, 2, 3, 4, 5]
cuadrados = [numero ** 2 for numero in numeros]
pares = [numero for numero in numeros if numero % 2 == 0]
print(cuadrados)
print(pares)

Salida:

[1, 4, 9, 16, 25]
[2, 4]
NecesitasUsa
Orden y cambioslist
Claves con valoresdict
Datos fijos agrupadostuple
Valores unicosset
def contar_categorias(productos):
conteo = {}
for producto in productos:
categoria = producto["categoria"]
conteo[categoria] = conteo.get(categoria, 0) + 1
return conteo
productos = [
{"nombre": "Mouse", "categoria": "hardware"},
{"nombre": "Teclado", "categoria": "hardware"},
{"nombre": "Python 101", "categoria": "libro"},
]
print(contar_categorias(productos))

Salida:

{'hardware': 2, 'libro': 1}

Retorno: contar_categorias(productos) devuelve un dict.