Tuplas en Python

Una tupla es una estructura de datos de Python que contiene una lista de datos de todo tipo. Pueden ser datos numéricos, cadenas, listas e incluso tuplas.

Así como una lista encierra a sus elementos entre dos corchetes, una tupla los encierra entre dos paréntesis.

Algunos ejemplos de tuplas

>>> a=(2,4,7,8)
>>>a
(2, 4, 7, 8)
>>> b = (1, -6,8,4)
Observe la siguiente tupla:
>>> c = ("H","ola", 20, -13.25, [3,6,4,2,8],[6,4,5,7,2],(2,5,4,6))
>>>c ('H', 'ola', 20, -13.25, [3, 6, 4, 2, 8], [6, 4, 5, 7, 2], (2, 5, 4, 6))

Como puede ver, la tupla c contiene diversos tipos de datos reconocidos por Python.

Podemos saber el tipo de dato imprimiendo su tipo:
>>> print(type(a))

En el caso de c:
>>> print(type(c))


Como en el caso de una lista, podemos extraer sus elementos:
>>> a[1]

Podemos sumar elementos:
>>> a[0]+a[1]
6
>>> a[3]*b[2]
64
Pero si deseamos sumar como si fueran vectores:
>>> a+b
(2, 4, 7, 8, 1, -6, 8, 4)
Lo concatena y el productono lo realiza
>>> a*b
Traceback (most recent call last):
File "", line 1, in
a*b
TypeError: can't multiply sequence by non-int of type 'tuple'

Quizás si usamos numpy
>>>import numpy as np
>>> a+b
>>> np.sum(a,b)

Pero sí podemos hallar las estadísticas de cada tupla, individualmente:
>>>np.sum(a)
Su media
>>> np.mean(a)
Su variana y la raíz cuadrada de sus elementos:
>>> np.var(a)
5.6875
>>> np.sqrt(a)
array([1.41421356, 2. , 2.64575131, 2.82842712])

Pero si los convertimos a arreglos, podemos tener todo lo que con lista convertido a vectores hemos hecho.

>>> a = np.array(a)
>>> b = np.array(b)
Ahora ya podemos sumar los dos vectores
>>> a+b
array([ 3, -2, 15, 12])
La media entre ellos
>>> np.mean(a) El producto
>>> a*b
array([ 2, -24, 56, 32])

Podemos obtener la transpuesta de a:
>>> ta = np.transpose(a)
Y podemos encontrar elproducto escalar de ta y a:
>>> a@ta
133

Pero: Una tupla es invariante; es decir, sus elementos no pueden ser modificados o eliminados. No se puede añadir elementos.

Sólo disponemos de dos funciones: count() e index():

Si
>>>x = (2,5,8,2,5,7,8,2,5,3,4,2,5,2,4,6,2,2)
>>> x = (2,5,8,2,5,7,8,2,5,3,4,2,5,2,4,6,2,2)

Podemos contar el número de veces que un elemento se repite en la tupla.
>>> x.count(2)
7
Y podemos saber la posición que ocupa un determinado elemento en la tupla, la primera vez que ocurre.

>>> x.index(8)
2
>>>

Para terminar, mostramos uno de las aplicaciones comunes del uso de tuplas en Python. Otras aplicaciones de mayor importancia se da en programación.
 

Continuar en la siguiente sesión