Tuplas Python Informe
Tuplas Python Informe
Tuplas Python Informe
telecomunicaciones
FACULTAD DE PRODUCCION Y
SERVICIOS
CURSO:
Computación 2
DOCENTE:
REALIZADO POR:
Arequipa-Perú
2018
1
Computación 2 Ing. telecomunicaciones
INDICE
Objetivos de la clase............................................................................................................................ 3
Python ................................................................................................................................................. 3
Tuplas .................................................................................................................................................. 3
Tuplas en Python ................................................................................................................................. 3
Elementos y segmentos de tuplas................................................................................................... 4
Las tuplas son inmutables ................................................................................................................... 5
Longitud de tuplas ............................................................................................................................... 5
Comparación de tuplas ....................................................................................................................... 6
Asignación ........................................................................................................................................... 9
Bibliografía ........................................................................................................................................ 10
2
Computación 2 Ing. telecomunicaciones
Objetivos de la clase
Enseñar el uso de tuplas en Python.
Justificar por qué es necesario usar tuplas.
Python
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una
sintaxis que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a
objetos, programación imperativa y, en menor medida, programación funcional. Es
un lenguaje interpretado, usa tipado dinámico y es multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de código abierto,
denominada Python Software Foundation License,1 que es compatible con la Licencia
pública general de GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones
anteriores.
Tuplas
La materia de la clase es el uso de tuplas. Las tuplas sirven para empaquetar valores que
por su naturaleza deben ir juntos. Mencione esta definicion a los alumnos. ´ Las tuplas
sirven para el mismo proposito que los registros de Pascal o las estructuras de C, pero la ´
manera de usarlas es diferente. Los elementos de las tuplas se acceden por posicion y no
por nombre. Las tuplas son inmutables: una vez creada, una tupla no se puede modificar.
Tuplas en Python
En la conversión de un tiempo a horas, minutos y segundos, en la sección 3.6, usamos n-
uplas (o tuplas) como una construcción que nos permitía que una función devolviera
múltiples valores.
En programación, en general, al querer modelar objetos de la vida real, es muy común que
querramos describir un objeto como un agrupamiento de datos de distintos tipos. Veamos
algunos ejemplos:
3
Computación 2 Ing. telecomunicaciones
Una fecha la podemos querer representar como la terna día (un número entero), mes
(una cadena de caracteres), y año (un número entero), y tendremos por ejemplo: (25,
"Mayo", 1810).
Es posible anidar tuplas: como datos de los alumnos queremos guardar número de
padrón, nombre, apellido y fecha de nacimiento, como por ejemplo: (89766, "Alicia",
"Hacker", (9, "Julio", 1988)).
>>> t[0]
25
>>> t[1]
'Mayo'
>>> t[2]
1810
Todas las secuencias en Python comienzan a numerarse desde 0. Es por eso que se
produce un error si se quiere acceder al n-ésimo elemento de un tupla:
>>> t[3]
4
Computación 2 Ing. telecomunicaciones
También se puede utilizar la notación de rangos, que se vio aplicada a cadenas para
obtener una nueva tupla, con un subconjunto de componentes. Si en el ejemplo de la
fecha queremos quedarnos con un par que sólo contenga día y mes podremos tomar el
rango [:2] de la misma:
>>> t[:2]
(25, 'Mayo')
Longitud de tuplas
A las tuplas también se les puede aplicar la función len() para calcular su longitud. El valor
de esta función aplicada a una tupla nos indica cuántas componentes tiene esa tupla.
>>> len(t)
Una tupla vacía es una tupla con 0 componentes, y se la indica como ().
>>> z=()
>>> len(z)
>>> z[0]
5
Computación 2 Ing. telecomunicaciones
Una tupla unitaria es una tupla con una componente. Para distinguir la tupla unitaria de la
componente que contiene, Python exige que a la componente no sólo se la encierre entre
paréntesis sino que se le ponga una coma a continuación del valor de la componente
(así (1810) es un número, pero (1810,) es la tupla unitaria cuya única componente
vale 1810).
>>> u=(1810)
>>> len(u)
>>> u=(1810,)
>>> len(u)
>>> u[0]
1810
Comparación de tuplas
Podemos hacer comparaciones entre mismos tipos de dato, ya sean números, string,
tuplas, listas, diccionarios, etc.
>>> t1 = (1,2)
>>> t2 = (1,3)
6
Computación 2 Ing. telecomunicaciones
>>> else:
Las comparaciones se han de hacer con respecto a los mismos tipos de datos
(exceptuando, pues, la comparación entre números reales y enteros) y se dan así:
Ejemplo
>>>a == b == c ==d
Técnicas de loop
Cuando estamos iterando sobre una tupla posible referencias al índice en el que vamos a
como al ítem que analizamos lo anterior puede ser hecho gracias ala función enumerate().
Ejemplo:
>>> tupla = ("a", "b", "c", "d")
>>>for i, item in enumerate(tupla):
print (i, ítem)
7
Computación 2 Ing. telecomunicaciones
La iteración sobre dos listas al mismo tiempo se hace posible gracias a la función zip().
Ejemplo:
>>>tupla1 = (1, 2, 3, 4, 5)
>>>tupla2 = (i*i for i in tupla1)
>>>for a, b in zip(lista1, lista2):
>>>print (a, b)
Para iterar sobre una lista del final al principio, es posible utilizar la función reversed().
Ejemplo:
>>>tupla1= [4, 3, 2, 1]
>>>for i in sorted(lista):
print i
Para iterar sobre diccionarios obteniendo las keys y los valores de cada una a la vez,
utilizamos la función que traen los diccionarios llamada iteritems().
Ejemplo:
>>>diccionario = {'a' : 1, 'b' : 2, 'c':3}
>>>for key, value in diccionario.iteritems():
print key, value
Para iterar sobre una copia de una lista podemos utilizar [:], que da como resultado una
lista con los mismos elementos de la lista en cuestión.
Ejemplo
>>>numeros = [1, 2, 3, 4]
>>>for i in numeros[:]:
>>> if i % 2 == 0:
numeros.append(i)
Por último, en cuanto a la parte del paradigma estructurado del tutorial, haré referencia
a Manejo del import en python
8
Computación 2 Ing. telecomunicaciones
Asignación
Uno de los mejores atajos de programación en Python es el uso de secuencias para
asignar múltiples valores de una vez.
Esto tiene varios usos. Con frecuencia, necesito asignar nombres a un rango de valores. En
C, se utilizaría enum y se haría una lista a mano de cada constante y su valor asociado, lo
cual resulta especialmente tedioso cuando los valores son consecutivos. En Python, puede
utilizarse la función incorporada range con asignación a múltiples variables para asignar
rápidamente valores consecutivos.
>>> range(7)
[0, 1, 2, 3, 4, 5, 6]
>>> (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) =
range(7)
>>> MONDAY
0
>>> TUESDAY
1
>>> SUNDAY
6
La función incorporada range devuelve una lista de enteros. En su forma más simple,
toma un límite superior y devuelve una lista que comienza en 0y sigue hasta el límite
superior, sin incluirlo. (Si le parece, puede pasar otros parámetros para especificar un
origen distinto de 0 y un incremento distinto de 1. Puede consultar range.__doc__ para
9
Computación 2 Ing. telecomunicaciones
Bibliografía
http://es.diveintopython.net/odbchelper_multiassign.html
http://librosweb.es/libro/algoritmos_python/capitulo_7/tuplas.html
https://programacion.net/articulo/como_funcionan_las_tuplas_en_python_1500
http://docs.python.org.ar/tutorial/3/datastructures.html
10