Domine las Tuplas en Python: Packing, Unpacking, Comparación, Slicing y Claves de Diccionario
Entendiendo el Matching de Tuplas en Python
El matching de tuplas agrupa tuplas comparando un elemento especificado, típicamente el segundo. Un patrón común es usar un diccionario con el elemento de la tupla como clave. Además, puede construir nuevas tuplas a partir de slices de las existentes.
Sintaxis Básica de Tuplas
Defina una tupla con valores separados por comas dentro de paréntesis:
tup = ('Ene', 'Feb', 'Mar')
Las tuplas vacías usan dos paréntesis vacíos: tup1 = ().
Para un solo valor, incluya una coma final: tup1 = (50,). Los índices comienzan en 0 y las tuplas soportan concatenación y slicing.
Asignación de Tuplas
Python permite asignación simultánea de múltiples variables usando una tupla. Esta técnica es útil para desempaquetar datos estructurados.
Ejemplo:
tup1 = ('Robert', 'Carlos', '1965', 'Terminator 1995', 'Actor', 'Florida')
tup2 = (1, 2, 3, 4, 5, 6, 7)
print(tup1[0]) # Robert
print(tup2[1:4]) # (2, 3, 4)
Packing y Unpacking
"Packing" inserta valores en una nueva tupla; "unpacking" los extrae de vuelta a variables.
x = ('Guru99', 20, 'Education')
(company, emp, profile) = x
print(company) # Guru99
print(emp) # 20
print(profile) # Education
Comparando Tuplas
Los operadores de comparación (<, >, ==, etc.) funcionan lexicográficamente: el primer elemento diferente determina el resultado.
# Caso 1
a = (5, 6)
b = (1, 4)
if a > b:
print('a es mayor')
else:
print('b es mayor')
De forma similar para otros casos: si los primeros elementos son iguales, la comparación continúa con el siguiente elemento.
Usando Tuplas como Claves de Diccionario
Como las tuplas son hashables, pueden servir como claves de diccionario, a diferencia de las listas.
directory = {('last', 'first'): '555-1234'}
for last, first in directory:
print(first, last, directory[(last, first)])
Los items del diccionario pueden recuperarse como lista de tuplas clave-valor:
a = {'x': 100, 'y': 200}
b = list(a.items())
print(b) # [('x', 100), ('y', 200)]
Eliminando Tuplas
Las tuplas son inmutables; no puede remover elementos individuales. Sin embargo, puede eliminar un objeto tupla completo con la sentencia del.
Slicing de Tuplas
La sintaxis de slicing funciona para tuplas igual que para listas:
x = ('a', 'b', 'c', 'd', 'e')
print(x[2:4]) # ('c', 'd')
Funciones Integradas para Tuplas
Las tuplas funcionan perfectamente con funciones como all(), any(), enumerate(), max(), min(), sorted(), len() y tuple().
Ventajas de las Tuplas sobre las Listas
- La iteración sobre tuplas es ligeramente más rápida porque son inmutables.
- Solo secuencias inmutables pueden ser claves de diccionario; las tuplas encajan en ese rol.
- Almacenar datos inmutables en una tupla garantiza que no se alteren accidentalmente.
Resumen Rápido
- Packing y unpacking permiten transferencia limpia de datos.
- Las tuplas pueden compararse lexicográficamente.
- Use tuplas como claves compuestas de diccionario.
- Las tuplas son inmutables; use
delpara remover el objeto completo. - Slicing obtiene sub-tuplas eficientemente.
python
- Dominando tipos de datos en Python: Guía práctica
- Dominando operadores en Python: Guía completa
- Dominando la sentencia pass en Python: Guía práctica
- Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
- Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
- Dominando Iteradores en Python: Cómo Funcionan y Cómo Crear los Tuyos
- Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
- Dominando datetime en Python: Guía Práctica de Fechas, Horas y Zonas Horarias
- Domine las Tuplas en Python: Packing, Unpacking, Comparación, Slicing y Claves de Diccionario
- Diccionarios en Python: Añadir, Actualizar y Gestionar Pares Clave/Valor
- Dominando enumerate() en Python: bucles con índices para listas, tuplas, cadenas y diccionarios