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 una tupla en 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.
<span>tupla</span> <span>=</span> <span>(</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>)</span><span>print</span><span>(</span><span>tupla</span><span>)</span> <span>#(1, 2, 3) </span><span>tupla</span> <span>=</span> <span>(</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>)</span> <span>print</span><span>(</span><span>tupla</span><span>)</span> <span>#(1, 2, 3) </span>tupla = (1, 2, 3) print(tupla) #(1, 2, 3)
Enter fullscreen mode Exit fullscreen mode
También pueden declararse sin (), separando por , todos sus elementos.
<span>tupla</span> <span>=</span> <span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>print</span><span>(</span><span>type</span><span>(</span><span>tupla</span><span>))</span> <span>#<class 'tuple'> </span> <span>print</span><span>(</span><span>tupla</span><span>)</span> <span>#(1, 2, 3) </span><span>tupla</span> <span>=</span> <span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span> <span>print</span><span>(</span><span>type</span><span>(</span><span>tupla</span><span>))</span> <span>#<class 'tuple'> </span> <span>print</span><span>(</span><span>tupla</span><span>)</span> <span>#(1, 2, 3) </span>tupla = 1, 2, 3 print(type(tupla)) #<class 'tuple'> print(tupla) #(1, 2, 3)
Enter fullscreen mode Exit fullscreen mode
- 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.
<span>tupla</span> <span>=</span> <span>(</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>)</span><span>#tupla[0] = 5 # Error! TypeError </span><span>tupla</span> <span>=</span> <span>(</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>)</span> <span>#tupla[0] = 5 # Error! TypeError </span>tupla = (1, 2, 3) #tupla[0] = 5 # Error! TypeError
Enter fullscreen mode Exit fullscreen mode
Al igual que las listas, las tuplas también pueden ser anidadas.
<span>tupla</span> <span>=</span> <span>1</span><span>,</span> <span>2</span><span>,</span> <span>(</span><span>'a'</span><span>,</span> <span>'b'</span><span>),</span> <span>3</span><span>print</span><span>(</span><span>tupla</span><span>)</span> <span>#(1, 2, ('a', 'b'), 3) </span> <span>print</span><span>(</span><span>tupla</span><span>[</span><span>2</span><span>][</span><span>0</span><span>])</span> <span>#a </span><span>tupla</span> <span>=</span> <span>1</span><span>,</span> <span>2</span><span>,</span> <span>(</span><span>'a'</span><span>,</span> <span>'b'</span><span>),</span> <span>3</span> <span>print</span><span>(</span><span>tupla</span><span>)</span> <span>#(1, 2, ('a', 'b'), 3) </span> <span>print</span><span>(</span><span>tupla</span><span>[</span><span>2</span><span>][</span><span>0</span><span>])</span> <span>#a </span>tupla = 1, 2, ('a', 'b'), 3 print(tupla) #(1, 2, ('a', 'b'), 3) print(tupla[2][0]) #a
Enter fullscreen mode Exit fullscreen mode
Y también es posible convertir una lista en tupla haciendo uso de al función tuple().
<span>lista</span> <span>=</span> <span>[</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>]</span><span>tupla</span> <span>=</span> <span>tuple</span><span>(</span><span>lista</span><span>)</span><span>print</span><span>(</span><span>type</span><span>(</span><span>tupla</span><span>))</span> <span>#<class 'tuple'> </span> <span>print</span><span>(</span><span>tupla</span><span>)</span> <span>#(1, 2, 3) </span><span>lista</span> <span>=</span> <span>[</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>]</span> <span>tupla</span> <span>=</span> <span>tuple</span><span>(</span><span>lista</span><span>)</span> <span>print</span><span>(</span><span>type</span><span>(</span><span>tupla</span><span>))</span> <span>#<class 'tuple'> </span> <span>print</span><span>(</span><span>tupla</span><span>)</span> <span>#(1, 2, 3) </span>lista = [1, 2, 3] tupla = tuple(lista) print(type(tupla)) #<class 'tuple'> print(tupla) #(1, 2, 3)
Enter fullscreen mode Exit fullscreen mode
Se puede iterar una tupla de la misma forma que se hacía con las listas.
<span>tupla</span> <span>=</span> <span>[</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>]</span><span>for</span> <span>t</span> <span>in</span> <span>tupla</span><span>:</span><span>print</span><span>(</span><span>t</span><span>)</span> <span>#1, 2, 3 </span><span>tupla</span> <span>=</span> <span>[</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>]</span> <span>for</span> <span>t</span> <span>in</span> <span>tupla</span><span>:</span> <span>print</span><span>(</span><span>t</span><span>)</span> <span>#1, 2, 3 </span>tupla = [1, 2, 3] for t in tupla: print(t) #1, 2, 3
Enter fullscreen mode Exit fullscreen mode
Y se puede también asignar el valor de una tupla con n elementos a n variables.
<span>l</span> <span>=</span> <span>(</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>)</span><span>x</span><span>,</span> <span>y</span><span>,</span> <span>z</span> <span>=</span> <span>l</span><span>print</span><span>(</span><span>x</span><span>,</span> <span>y</span><span>,</span> <span>z</span><span>)</span> <span>#1 2 3 </span><span>l</span> <span>=</span> <span>(</span><span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>)</span> <span>x</span><span>,</span> <span>y</span><span>,</span> <span>z</span> <span>=</span> <span>l</span> <span>print</span><span>(</span><span>x</span><span>,</span> <span>y</span><span>,</span> <span>z</span><span>)</span> <span>#1 2 3 </span>l = (1, 2, 3) x, y, z = l print(x, y, z) #1 2 3
Enter fullscreen mode Exit fullscreen mode
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.
<span>tupla</span> <span>=</span> <span>(</span><span>2</span><span>,)</span><span>print</span><span>(</span><span>type</span><span>(</span><span>tupla</span><span>))</span> <span>#<class 'tuple'> </span> <span>Métodos</span> <span>tuplas</span><span>count</span><span>(</span><span><</span><span>obj</span><span>></span><span>)</span><span>tupla</span> <span>=</span> <span>(</span><span>2</span><span>,)</span> <span>print</span><span>(</span><span>type</span><span>(</span><span>tupla</span><span>))</span> <span>#<class 'tuple'> </span> <span>Métodos</span> <span>tuplas</span> <span>count</span><span>(</span><span><</span><span>obj</span><span>></span><span>)</span>tupla = (2,) print(type(tupla)) #<class 'tuple'> Métodos tuplas count(<obj>)
Enter fullscreen mode Exit fullscreen mode
El método count() cuenta el número de veces que el objeto pasado como parámetro se ha encontrado en la lista.
<span>l</span> <span>=</span> <span>[</span><span>1</span><span>,</span> <span>1</span><span>,</span> <span>1</span><span>,</span> <span>3</span><span>,</span> <span>5</span><span>]</span><span>print</span><span>(</span><span>l</span><span>.</span><span>count</span><span>(</span><span>1</span><span>))</span> <span>#3 </span> <span>index</span><span>(</span><span><</span><span>obj</span><span>></span><span>[,</span><span>index</span><span>])</span><span>l</span> <span>=</span> <span>[</span><span>1</span><span>,</span> <span>1</span><span>,</span> <span>1</span><span>,</span> <span>3</span><span>,</span> <span>5</span><span>]</span> <span>print</span><span>(</span><span>l</span><span>.</span><span>count</span><span>(</span><span>1</span><span>))</span> <span>#3 </span> <span>index</span><span>(</span><span><</span><span>obj</span><span>></span><span>[,</span><span>index</span><span>])</span>l = [1, 1, 1, 3, 5] print(l.count(1)) #3 index(<obj>[,index])
Enter fullscreen mode Exit fullscreen mode
El método index() busca el objeto que se le pasa como parámetro y devuelve el índice en el que se ha encontrado.
<span>l</span> <span>=</span> <span>[</span><span>7</span><span>,</span> <span>7</span><span>,</span> <span>7</span><span>,</span> <span>3</span><span>,</span> <span>5</span><span>]</span><span>print</span><span>(</span><span>l</span><span>.</span><span>index</span><span>(</span><span>5</span><span>))</span> <span>#4 </span><span>l</span> <span>=</span> <span>[</span><span>7</span><span>,</span> <span>7</span><span>,</span> <span>7</span><span>,</span> <span>3</span><span>,</span> <span>5</span><span>]</span> <span>print</span><span>(</span><span>l</span><span>.</span><span>index</span><span>(</span><span>5</span><span>))</span> <span>#4 </span>l = [7, 7, 7, 3, 5] print(l.index(5)) #4
Enter fullscreen mode Exit fullscreen mode
En el caso de no encontrarse, se devuelve un ValueError.
<span>l</span> <span>=</span> <span>[</span><span>7</span><span>,</span> <span>7</span><span>,</span> <span>7</span><span>,</span> <span>3</span><span>,</span> <span>5</span><span>]</span><span>#print(l.index(35)) #Error! ValueError </span><span>l</span> <span>=</span> <span>[</span><span>7</span><span>,</span> <span>7</span><span>,</span> <span>7</span><span>,</span> <span>3</span><span>,</span> <span>5</span><span>]</span> <span>#print(l.index(35)) #Error! ValueError </span>l = [7, 7, 7, 3, 5] #print(l.index(35)) #Error! ValueError
Enter fullscreen mode Exit fullscreen mode
El método index() también acepta un segundo parámetro opcional, que indica a partir de que índice empezar a buscar el objeto.
<span>l</span> <span>=</span> <span>[</span><span>7</span><span>,</span> <span>7</span><span>,</span> <span>7</span><span>,</span> <span>3</span><span>,</span> <span>5</span><span>]</span><span>print</span><span>(</span><span>l</span><span>.</span><span>index</span><span>(</span><span>7</span><span>,</span> <span>2</span><span>))</span> <span>#2 </span><span>l</span> <span>=</span> <span>[</span><span>7</span><span>,</span> <span>7</span><span>,</span> <span>7</span><span>,</span> <span>3</span><span>,</span> <span>5</span><span>]</span> <span>print</span><span>(</span><span>l</span><span>.</span><span>index</span><span>(</span><span>7</span><span>,</span> <span>2</span><span>))</span> <span>#2 </span>l = [7, 7, 7, 3, 5] print(l.index(7, 2)) #2
Enter fullscreen mode Exit fullscreen mode
暂无评论内容