Tuplas

Un elemento semejante a la lista es la tupla. Se construyen de forma semejante a las listas pero usando paréntesis en lugar de corchetes:

Variables y tipos

Una tupla también puede estar compuesta de elementos de diferentes tipos. Para acceder a los elementos de la tupla, al igual que ocurría con las listas, podemos usar el índice del elemento. Por ejemplo, para extraer el tercer elemento de la tupla anterior comenzando por la izquierda (índice 2), haríamos:

Variables y tipos

Y también podemos usar índices negativos, con lo que recordemos que estamos haciendo referencia al final de la tupla (el último elemento recibe el índice -1).

Hay una gran diferencia con respecto a las listas: una tupla no puede ser modificada. Es decir, no hay forma de añadir, modificar o eliminar elementos de una tupla. Veremos más adelante qué utilidad tiene esto.

Un par de comentarios adicionales:

Podemos crear una tupla a partir de una lista usando la función tuple:

Creación de una tupla

Si queremos crear una tupla vacía, podemos hacerlo de dos formas: usando la función tuple vista sin incluir elementos en su interior, o con la notación "paréntesis" sin incluir valores entre ellos:

Creación de una tupla vacía

También podemos crear una tupla sin usar paréntesis, simplemente separando los elementos con comas:

Creación de una tupla

En este caso, si quisiéramos crear la tupla con un único elemento, deberemos añadir una coma tras él pues, en otro caso, se estaría creando una variable de tipo numérico o string, etc. En el siguiente ejemplo, creamos (o intentamos crear) la tupla sin la coma adicional, resultando una variable de tipo "número entero". A continuación, repetimos el proceso añadiendo la coma, resultando una tupla tal y como queríamos:

Creación de una tupla

Esto tiene un riesgo: si lo que queremos hacer es crear una variable de un tipo simple (número entero, o cadena de texto, por ejemplo) y se nos escapa una coma al final, estaremos creando una tupla. Y éste es un error que sucede de vez en cuando: de repente vemos un error inesperado, comprobamos el tipo de una variable y vemos que es una tupla ¿habíamos asignado a esta variable una tupla? Con seguridad el problema viene provocado por una coma imprevista...