Tuplas en Python 3

Las tuplas en Python son un conjunto de elementos que pueden contener distintos tipos de datos, separados por comas y entre paréntesis (). Una tupla es heterogénea, quiere decir que dentro de ella puede contener otras tuplas, diccionarios, listas o conjuntos.

Un punto importante que debes de saber es que la tupla no es mutable, es decir, no se puede añadir ni modificar sus elementos después de haber sido creada.

También te puede interesar:

Estructura de una tupla

Para crear una tupla en Python basta con definir una secuencia de elementos, separados por comas y entre paréntesis.

books = ("Libro 1", "Libro 2", "Libro 3")
print(books)
# Salida
('Libro 1', 'Libro 2', 'Libro 3')
# Devuelve una tupla con varios elementos

Recomendación

Al crear una tupla es opcional el uso del paréntesis siempre que no esté vacía, aunque es recomendable hacer uso del paréntesis para evitar errores o confusiones en el futuro.

También puedes almacenar listas, diccionarios , conjuntos y otras tuplas en una tupla:

element = [1, 2, 3], {2, 3, 4}, ("x", "y"), {"color": ("rojo", "amarillo", "azul")}
type(element)
# Salida
tuple
# Como ves, element contiene listas,
# conjuntos, diccionarios y tuplas.
# Hemos hecho uso de la función type()
# y el resultado es el que ves.

Para crear una tupla de un elemento, es decir, una tupla unitaria debemos de introducir un coma, sino Python lo interpretará como un string.

color = ("Verde",)
type(color)
# Salida
tuple

Acceder a los elementos de una tupla

Al igual que las listas se puede acceder a los elementos de una tupla por su índice. Entiendo que sabemos acceder a los elementos por su indexación, en el caso contrario, puedes echarle un vistazo a cómo Indexar y segmentar strings en Python 3.

En el siguiente ejemplo accederemos a los elementos de una tupla empezando por la posición 0 en orden positivo, introduciendo el índice entre corchetes []:

element = ("x", "y")
element[1]
# Salida
'y'

O podemos acceder en orden negativo desde el último elemento:

element = ("x", "y")
element[-1]
# Salida
'y'
# Ya que el último elemento -1
# es 'y'

Si lo que queremos es acceder un subconjunto desde un índice a otro podemos utilizar el operador [ : ]

element = ("x", "y", 1, 2)
element[0:2]
# Salida
('x', 'y')
# Recorre desde índice 0 que es la 'x'
# hasta el 2, la 'y', sin mostrarlo.

El método unpacking

Se trata de un proceso de desempaquetado que nos permite extraer los valores de una tupla convirtiéndolos en variables. Imagínate que sacas del baúl de los recuerdos unas gafas de sol, el boli de tu último examen, donde el baúl es la tupla y los objetos que sacas de él son sus valores.

Veamos el siguiente ejemplo con una tupla de tres colores:

# Creamos una tupla con 3 elementos
color = ("Rojo", "Verde", "Azul")
# Extraemos los valores a una variable
(rojo, verde, azul) = color
# Convertimos el primer carácter en
# minúscula (no es necesario)
rojo, verde, azul = rojo.lower(), verde.lower(), azul.lower()
# Utilizamos la variable que extrajimos
# previamente de la tupla 'color'
print("De los colores {0}, {1} y {2}, me gusta más el {2}.".format(rojo, verde, azul))
# Salida
De los colores rojo, verde y azul, me gusta más el azul.

Nota

El número de variables debe de coincidir con el número de elementos de la tupla, en caso contrario, debemos de utilizar un asterisco para guardar los elementos restantes en una lista.

color = ("Rojo", "Verde", "Azul")
# Guardamos en una lista el resto de
# elementos con un *
(rojo, *resto) = color
# Imprimimos el color rojo
print("Color: {}".format(rojo))
# Imprimimos el resto de colores
for color in resto:
    print("Color: {}".format(color))
# Salida
Color: Rojo
Color: Verde
Color: Azul

Longitud de las tuplas

A una tupla como en otras estructuras de datos se le puede aplicar la función len(), esta nos devuelve el número de elementos de la misma.

t = ("C/ Los Girasoles", 23, 33011, True)
len(t)
# Salida
4

Métodos de las tuplas en Python

Por último, veamos los métodos definidos para ser utilizados con tuplas:

MétodoDescripción
index()Devuelve el índice del elemento que le pasamos como parámetro.
count()Devuelve el número de veces que aparece un elemento en la tupla.

Conclusión

En este artículo hemos visto cuál es la función de una tupla, cómo crearla y qué tipo de datos puede albergar.

Recuerda que son un tipo de estructura secuencial y no se puede modificar después de haber sido creada. Te recomiendo usarlas cuando los elementos de una lista no se van a modificar, o para almacenar las claves de un diccionario.

¿Te ha parecido útil?