You are on page 1of 5

APRENDIENDO PYTHON DESDE CERO (tuplas) Las tuplas, son una coleccin de objetos ordenados que son bastante

parecido a las listas, se encierran entre parentesis, en vez de corchetes como las listas. Las principales caracteristicas de esta coleccin de objetos son: 1) Es una coleccin ordenada de objetos. 2) Al igual que las listas se accede por offset o indice 3) A diferencia de las listas que podian mutar, las tuplas son inmutables, solo se cambian items al asignarlas a otra tupla. 4) Tuplas son mejor conocidas como arrays de referencia, ya que es una forma sencilla de acceder por offset a objetos. Veamos los ejemplos y alli se aclarara: Un tupla vacia. t1=()

Recordemos que las otros colecciones de objetos que conociamos, las listas se cierran entre corchetes [ ] y los diccionarios entre llaves { }, en el caso de las tuplas el conjunto se encierra entre parentesis, aunque no es obligatorio, si un conjunto de objetos esta separado por comas, y no esta encerradoentre parentesis, python lo interpretara como una tupla. t1= (0,)

Esta es una tupla de un solo item, vemos que si es de un solo item habra que poner la coma, si no la colocamos la interpretara como un entero.

una tupla de cuatro items t2 = (0, 'Ni', 1.2, 3)

Otra tupla de cuatro items similar a la anterior t2 = 0, 'Ni', 1.2, 3 Vemos que los parentesis son opcionales, podemos no colocarlos, pero cuando queremos ver el contenido de la tupla python la muestra con parentesis, por claridad visual.

Una tupla dentro de otra t3 = ('abc', ('def', 'ghi')) Al igual que en las listas, los items se llaman por indices que comienzan en cero, si usamos el ejemplo anterior t3 [0]

vemos que nos muestra el primer item, ya dijimos que las tuplas son conjuntos ordenados, asi que por medio de indices se puede acceder a ellos perfectamente. t3[1][1]

Como en el caso de las listas, si hay una tupla dentro de otra, para acceder a un solo item de la tupla que esta dentro, habra que usar doble subindice, Existe el indice slice o rebanada t2 = (0, 'Ni', 1.2, 3)

Alli tomamos una rebanada que comienza en 2 y termina en 4 excluyendo a este ultimo o sea mostrara los items 2 y 3 como vemos. y la funcion len >len (t2)

Vemos que len nos da la cantidad de items de una tupla Existe tambien concatenar y repetir Concatenar (1, 2) + (3, 4) (1, 2, 3, 4) o tambien t2 = (0, 'Ni', 1.2, 3) + (4,5) >>> t2 (0, 'Ni', 1.2, 3, 4, 5) alli vemos por si alguno no le quedo claro el concepto de mutable o inmutable, como las strings las tuplas son inmutables, lo cual quiere decir que no podemos asignarle directamente un valor nuevo a un item sin crear una tupla nueva, eso si podemos concatenarla al igual que las strings con otras y muliplicarlas, la inmutablidad se refiere al hecho de que si hago.

Veo que no puedo cambiar directamente un item, lo mismo que pasaba en las strings, no podia cambiar una letra de la misma directamente

Aca en las tuplas es similar, puedo concatenarle objetos y repetirlos, pero no puedo asignarle nuevos valores en la misma tupla, para ello hay que crear una segunda.

Ahi vemos que para reemplazar el primer item de una tupla, tuve que crear una nueva, con un item de otra tupla, y concatenarlo con los restante que corte con el slice. t2=(0, 'Ni', 1.2, 3, 4, 5) t2*4

repetira 4 veces la misma tupla

se puede iterar perfectamente t2=(0, 'Ni', 1.2, 3, 4, 5) for x in t2: print x, Esto imprimira todos los items de la tupla.

Las tuplas no tienen metodos asociados, por lo cual si queremos operar en forma flexible, como ordenarlos con sort, o usar cualquier metodo de las listas, habra que convertirlas en listas. Si tengo la t2 anterior y la quiero convertir a lista t2=(0, 'Ni', 1.2, 3, 4, 5) l2=list (t2)

Con eso creo una lista con el mismo contenido que la tupla original , vemos que esta cerrada entre corchetes, y podre aplicarle los metodos que existen para listas. Ahora puedo aplicarle por ejemplo el metodo sort para ordenarlo l2.sort ()

Y ahora que esta ordenadito puedo transformarlo a tupla nuevamente t2=tuple (l2)

Una vez que todo alumno aprende lo que son las tuplas, salta la pregunta inmediata, porque existen las tuplas si ya existen las listas? Bueno la respuesta es un poco dificil, muchas son razones historicas de los lenguajes, pero en la practica vemos que a veces en un programa muy extenso trabajar con tuplas nos asegura la inmutabilidad de las mismas y que no haya en el medio una asignacion que cambie un item de la misma, y nos trastoque el programa. Es a gusto del consumidor hay dos variedades de algo parecido, para que se creo el destornillador tipo philips existiendo el plano, y bueno, son parecidos cumplen una funcion parecida y cada cual colocara tornillos philips o planos segn crea mejor, es asi. En el caso de la programacion, es bueno tener diferentes alternativas y aunque parezcan parecidas, las caracteristicas de inmutabilidad o mutabilidad, o que existan metodos o no, pueden hacer que en algun caso sea mejor usar un tipo de objeto que otro. Hasta la parte 14 Ricardo Narvaja

You might also like