7.3 KiB
Día 6
Tuplas
Una tupla es una colección ordenada e inmutable que puede contener distintos tipos de datos. Una vez creada una tupla, no podemos cambiar sus valores. No podemos usar métodos como add, insert o remove en una tupla porque no es modificable (es inmutable). A diferencia de las listas, las tuplas tienen menos métodos. Los métodos asociados a tuplas son:
- tuple(): crea una tupla vacía
- count(): cuenta cuántas veces aparece un elemento en la tupla
- index(): busca el índice de un elemento en la tupla
- Operador +: concatena dos o más tuplas creando una nueva tupla
Cómo crear tuplas
-
Crear una tupla vacía
# Sintaxis empty_tuple = () # o usando el constructor de tuplas empty_tuple = tuple() -
Crear una tupla con valores iniciales
# Sintaxis tpl = ('item1', 'item2','item3')fruits = ('banana', 'orange', 'mango', 'lemon')
Longitud de la tupla
Usamos la función len() para obtener la longitud de una tupla.
# Sintaxis
tpl = ('item1', 'item2', 'item3')
len(tpl)
Obtener elementos de la tupla
-
Índices positivos Al igual que con las listas, usamos índices positivos o negativos para acceder a los elementos de una tupla.

# Sintaxis tpl = ('item1', 'item2', 'item3') first_item = tpl[0] second_item = tpl[1]fruits = ('banana', 'orange', 'mango', 'lemon') first_fruit = fruits[0] second_fruit = fruits[1] last_index =len(fruits) - 1 last_fruit = fruits[las_index] -
Índices negativos Los índices negativos cuentan desde el final: -1 es el último elemento, -2 el penúltimo, y así sucesivamente.

# Sintaxis tpl = ('item1', 'item2', 'item3','item4') first_item = tpl[-4] second_item = tpl[-3]fruits = ('banana', 'orange', 'mango', 'lemon') first_fruit = fruits[-4] second_fruit = fruits[-3] last_fruit = fruits[-1]
Slicing de tuplas
Podemos extraer subtuplas especificando un rango de índices de inicio y fin; el resultado es una nueva tupla con los elementos seleccionados.
-
Rango de índices positivos
# Sintaxis tpl = ('item1', 'item2', 'item3','item4') all_items = tpl[0:4] # todos los elementos all_items = tpl[0:] # todos los elementos middle_two_items = tpl[1:3] # no incluye el índice 3fruits = ('banana', 'orange', 'mango', 'lemon') all_fruits = fruits[0:4] # todos los elementos all_fruits= fruits[0:] # todos los elementos orange_mango = fruits[1:3] # no incluye el índice 3 orange_to_the_rest = fruits[1:] -
Rango de índices negativos
# Sintaxis tpl = ('item1', 'item2', 'item3','item4') all_items = tpl[-4:] # todos los elementos middle_two_items = tpl[-3:-1] # no incluye el índice 3fruits = ('banana', 'orange', 'mango', 'lemon') all_fruits = fruits[-4:] # todos los elementos orange_mango = fruits[-3:-1] # no incluye el índice 3 orange_to_the_rest = fruits[-3:]
Convertir tupla a lista
Podemos convertir una tupla en una lista y viceversa. Si queremos modificar una tupla, conviene convertirla primero en lista.
# Sintaxis
tpl = ('item1', 'item2', 'item3','item4')
lst = list(tpl)
fruits = ('banana', 'orange', 'mango', 'lemon')
fruits = list(fruits)
fruits[0] = 'apple'
print(fruits) # ['apple', 'orange', 'mango', 'lemon']
fruits = tuple(fruits)
print(fruits) # ('apple', 'orange', 'mango', 'lemon')
Comprobar si un elemento está en la tupla
Podemos usar el operador in para comprobar si un elemento pertenece a la tupla; devuelve un valor booleano.
# Sintaxis
tpl = ('item1', 'item2', 'item3','item4')
'item2' in tpl # True
fruits = ('banana', 'orange', 'mango', 'lemon')
print('orange' in fruits) # True
print('apple' in fruits) # False
fruits[0] = 'apple' # TypeError: 'tuple' object does not support item assignment
Unir tuplas
Podemos concatenar dos o más tuplas usando el operador +.
# Sintaxis
tpl1 = ('item1', 'item2', 'item3')
tpl2 = ('item4', 'item5','item6')
tpl3 = tpl1 + tpl2
fruits = ('banana', 'orange', 'mango', 'lemon')
vegetables = ('Tomato', 'Potato', 'Cabbage','Onion', 'Carrot')
fruits_and_vegetables = fruits + vegetables
Eliminar tupla
No se pueden eliminar elementos individuales de una tupla, pero sí se puede eliminar la tupla completa con la palabra clave del.
# Sintaxis
tpl1 = ('item1', 'item2', 'item3')
del tpl1
fruits = ('banana', 'orange', 'mango', 'lemon')
del fruits
🌕 Muy bien, lo conseguiste. Acabas de completar el desafío del día 6. Ahora realiza algunos ejercicios para practicar.
💻 Ejercicios - Día 6
Ejercicios: Nivel 1
- Crea una tupla vacía
- Crea una tupla con los nombres de tus hermanos y hermanas (pueden ser ficticios)
- Concatena las tuplas de hermanos y asígnalas a
siblings - ¿Cuántos hermanos tienes?
- Modifica la tupla de
siblingsy añade los nombres de tus padres; asígnala afamily_members
Ejercicios: Nivel 2
- Extrae los hermanos y los padres desde
family_members - Crea las tuplas
fruits,vegetablesyanimal_products. Concatena las tres tuplas y asígnalas a la variablefood_stuff_tp - Convierte la tupla
food_stuff_tpen la listafood_stuff_lt - Extrae los elementos del medio desde la tupla
food_stuff_tpo la listafood_stuff_lt - Extrae las primeras tres y las últimas tres entradas de la lista
food_stuff_lt - Elimina completamente la tupla
food_stuff_tp - Comprueba si existen los elementos:
-
Verifica si 'Estonia' está en la tupla
nordic_countries -
Verifica si 'Iceland' está en la tupla
nordic_countriesnordic_countries = ('Denmark', 'Finland','Iceland', 'Norway', 'Sweden')
