Tupla (tuple)
Las tuplas en Python son un tipo o estructura de datos que
permite almacenar datos de una manera muy parecida a
las listas, con la salvedad de que son inmutables.
Crear tupla Python
Las tuplas en Python o tuples son muy similares a las listas,
pero con dos diferencias. Son inmutables, lo que significa
que no pueden ser modificadas una vez declaradas, y en vez
de inicializarse con corchetes se hace con () . Dependiendo
de lo que queramos hacer, las tuplas pueden ser más
rápidas.
tupla = (1, 2, 3)
print(tupla) #(1, 2, 3)
También pueden declararse sin () , separando por , todos
sus elementos.
tupla = 1, 2, 3
print(type(tupla)) #<class 'tuple'>
print(tupla) #(1, 2, 3)
Operaciones con tuplas
Como hemos comentado, las tuplas son tipos inmutables, lo
que significa que una vez asignado su valor, no puede ser
modificado. Si se intenta, tendremos un TypeError .
tupla = (1, 2, 3)
#tupla[0] = 5 # Error! TypeError
Al igual que las listas, las tuplas también pueden ser
anidadas.
tupla = 1, 2, ('a', 'b'), 3
print(tupla) #(1, 2, ('a', 'b'), 3)
print(tupla[2][0]) #a
Y también es posible convertir una lista en tupla haciendo uso
de al función tuple() .
lista = [1, 2, 3]
tupla = tuple(lista)
print(type(tupla)) #<class 'tuple'>
print(tupla) #(1, 2, 3)
Se puede iterar una tupla de la misma forma que se hacía
con las listas.
tupla = [1, 2, 3]
for t in tupla:
print(t) #1, 2, 3
Y se puede también asignar el valor de una tupla
con n elementos a n variables.
l = (1, 2, 3)
x, y, z = l
print(x, y, z) #1 2 3
Aunque tal vez no tenga mucho sentido a nivel práctico, es
posible crear una tupla de un solo elemento. Para ello debes
usar , antes del paréntesis, porque de lo contrario (2) sería
interpretado como int .
tupla = (2,)
print(type(tupla)) #<class 'tuple'>
Métodos tuplas
count(<obj>)
El método count() cuenta el número de veces que el objeto
pasado como parámetro se ha encontrado en la lista.
l = [1, 1, 1, 3, 5]
print(l.count(1)) #3
index(<obj>[,index])
El método index() busca el objeto que se le pasa como
parámetro y devuelve el índice en el que se ha encontrado.
l = [7, 7, 7, 3, 5]
print(l.index(5)) #4
En el caso de no encontrarse, se devuelve un ValueError .
l = [7, 7, 7, 3, 5]
#print(l.index(35)) #Error! ValueError
El método index() también acepta un segundo parámetro
opcional, que indica a partir de que índice empezar a buscar
el objeto.
l = [7, 7, 7, 3, 5]
print(l.index(7, 2)) #2