Secuencias (tuplas).
Las tuplas son secuencias muy similares a las listas, con la diferencia de que son inmutables. Esto quiere decir que una vez creadas, no pueden añadirse elementos, removerse o modificarse de cualquier manera. Esto suele utilizarse cuando se quiere evitar perder los valores originales. Se pueden crear listas en base a tuplas o desempaquetar las tuplas en variables individuales para trabajar con los datos.
Para declarar una tupla, es muy similar a una lista, sólo que en lugar de utilizar llaves cuadradas, utilizaremos paréntesis para especificar los valores de la misma:
autos = ('Toyota Corolla', 'Subaru Impresa', 'Nissan 370z')
print(f'{autos}')
Si queremos colocar a cada elemento de una tupla en variables distintas, se puede utilizar el recurso del desempaquetado de tuplas de la siguiente manera:
autos = ('Toyota Corolla', 'Subaru Impresa', 'Nissan 370z')
autos_1, autos_2, autos_3 = autos
print(f'Auto 1: {autos_1}\nAuto 2: {autos_2}\nAuto 3: {autos_3}')
NOTA: Se pueden realizar saltos de línea a la hora de imprimir por pantalla escribiendo \n donde queremos que se produzca el mismo.
Con la función zip() podemos combinar tuplas, creando un iterador de las mismas en donde cada elemento de cada secuencia contiene al elemento en la misma posición de la segunda tupla.
autos = ('Corolla', 'Impresa', '370z')
fabricantes = ('Toyota', 'Subaru', 'Nissan')
zip(autos, fabricantes)
print('Imprimiendo iterador zip: \n')
print(list (zip (autos, fabricantes)))
Utilizando la función set() podremos agrupar valores duplicados dentro de las tuplas:
autos = ('C4', 'EVO IX', 'Corolla', 'Impresa', 'El Camino', 'C4', '370z', 'EVO X')
set(autos)
print("Valores agrupados con set: \n")
print(set (autos))
Para imprimir elementos de una tupla según su índice o especificar un rango de elementos a imprimir, descubrirán que funciona de manera idéntica a una lista:
tupla1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)
print (tupla1[0])
print (f'\n{tupla1[0:4]}')
Y para finalizar, podemos buscar el índice o la cantidad de coincidencias de un elemento de la lista, si lo especificamos:
autos = ('C4', 'EVO IX', 'Corolla', 'Impresa', 'El Camino', 'C4', '370z', 'EVO X')
print(autos.index('C4'))
print(f'Cantidad de coincidencias: {autos.count('C4')}')
Antes de pasar al tema de “Diccionarios”, vamos a hacer un poco de ejercitación con los nuevos temas.