Cómo funcionan las tuplas en Python

En mis anteriores artículos sobre iniciación a Python hablé acerca de dos conceptos muy importantes que debes conocer con el fin de avanzar en tu viaje de aprendizaje sobre el lenguaje de programación Python, las listas y los diccionarios.

Este tutorial es otra entrega en mi afán de que conozcáis este magnífico lenguaje, y en esta ocasión os hablaré de otro concepto interesante, las tuplas. De esta manera, habrás apremdido a manejar estos tres tipos de datos y estarás listo para profundizar en el lenguaje Python.

Por eso, vamos a continuar pasando directamente al interesantísimo tema de las tuplas.

¿Qué son las tuplas?

Si entendiste el concepto de listas, las tuplas te van a ser pan comido, ya que son muy similares salvo por dos diferencias muy importantes:

  • Las tuplas son inmutables. Una vez se crea una tupla, no se puede cambiar ni su contenido ni su tamaño, a menos que hagas una copia de la tupla.
  • Se escriben entre paréntesis () en lugar de entre corchetes [].

Por lo tanto, como habrás podido adivinar, las tuplas consisten en un conjunto de objetos ordenados que pueden ser de cualquier tipo (es decir, strings, listas, diccionarios, tuplas, etc.), y se puede acceder a cada elemento mediante un índice, al contrario que los elementos de un diccionarios, a los cuales se accedía mediante una clave. Es importante señalar que las tuplas almacenan referencias de los objetos que contienen.

Antes de ver algunas operaciones con tuplas, vamos a ver como se definiría una tupla sencilla:

tup = (1)

Esto es una tupla simple que solo contiene un elemento, un valor entero. La salida de esta tupla será 1.

Vamos a ver otro ejemplo de una tupla con 3 elementos, cada uno de un tipo distinto. La declaración de dicha tupla sería tal que así:

tup = (31,'prog',4.0)

La salida de la sentencia anterior sería:

(31, 'prog', 4.0)

También puedes definir la tupla anterior sin usar los paréntesis, como puedes ver a continuación:

tup = 31,'prog',4.0

Son muy flexibles, ¿verdad?

Operaciones con tuplas

Ahora vamos a ver unas cuantas operaciones haciendo uso de las tuplas.

Concatenación

La concatenación es la combinación de tuplas. Digamos que tenemos las siguientes tuplas:

tuple1 = (1,2,3,4,5)

tuple2 = (6,7,8,9,10)

Si queremos concatenar la tuple1 con la tuple2, simplemente debemos escribir:

tup = tuple1 + tuple2

Fíjate en que he usado el operador + para realizar la concatenación. Esto derivará en la siguiente salida:

(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Repetición

La repetición de tuplas se puede llevar a cabo mediante el uso del operador *. Si quieres repetir el contenido de la tupla tres veces, simplemente haz lo siguiente:

tuple1 * 3

El resultado de esta sentencia será:

(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)

Comprobar elementos

Para comprobar si un elemento existe en la tupla, simplemente tenemos que utilizar la palabra clave in de este modo:

7 in tuple1

Esto devolverá un false como una casa, ya que el valor 7 no se encuentra dentro de tuple1.

Buscar

Si queremos saber en qué índice está localizado un valor concreto, podemos hacerlo. Solo hay que usar index y nos devolverá el índice donde se encuentra. Por ejemplo, si queremos encontrar la ubicación del elemento 5 en la tuple1, haremos lo siguiente:

tuple1.index(5)

Este caso, nos devolverá el valor 4, que es la localización del elemento 5.

Contador

Una acción que se suele repetir mucho cuando se trabaja con tuplas es la de contar el número de veces que un elemento existe en la tupla. Digamos que tenemos la siguiente tupla:

tuple3 = (65,67,5,67,34,76,67,231,98,67)

Si queremos saber cuántas veces existe el elemento 67 en la tuple3, haremos lo siguiente:

tuple3.count(67)

El resultado de esta sentencia debería ser 4. Las cuatro veces que se repite el elemento 67.

Indexación

La indexación es el proceso de acceder al elemento de una tupla mediante un índice. Si queremos acceder al quinto índice de la tuple3, haremos lo siguiente:

tuple3[4]

Esto nos devolverá 34.

Un índice también puede ser negativo, si el recuento lo iniciamos desde la derecha de la tupla. Por lo tanto, el resultado de tuples3[-6] será 34. ¿Qué pasaría si hacemos referencia a un índice fuera de rango? Es decir, ¿qué pasa si declaramos tuples3[-11]? Esto es lo que pasaría en ese caso:

Traceback (most recent call last):

  File "tuple.py", line 2, in <module>

    print tuple3[-11]

IndexError: tuple index out of range

Recuerda que los índices negativos empiezan desde -1. Por lo tanto, si escribes el índice -0, es lo mismo que indicar 0. Es por eso que, tuples3[-0], devolverá 65.

Fuente: Abder-Rahman Ali

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP