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 "
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)
>>> 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.