You are on page 1of 10

Computación 2 Ing.

telecomunicaciones

UNIVERSIDAD NACIONAL DE SAN


AGUSTIN

FACULTAD DE PRODUCCION Y
SERVICIOS

ESCUELA PROFESIONAL INGENIERIA EN


TELECOMUNICACIONES

“INFORME DE TUPLAS EN PYTHON”

CURSO:

Computación 2

DOCENTE:

Ing. Willy Mullisaca

REALIZADO POR:

Choque Luna, Jhonny

Aymara Huamani, Eliceo

Mamani Mamani, Victor

Hancco Ttupa, Walter Alvaro

Flores Neira, Frank Javier

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

 Como datos de los alumnos queremos guardar número de padrón, nombre y


apellido, como por ejemplo (89766, "Alicia", "Hacker").

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

Elementos y segmentos de tuplas


Las tuplas son secuencias, igual que las cadenas, y se puede utilizar la misma notación de
índices que en las cadenas para obtener cada una de sus componentes.

 El primer elemento de (25, "Mayo", 1810) es 25.

 El segundo elemento de (25, "Mayo", 1810) es "Mayo".

 El tercer elemento de (25, "Mayo", 1810) es 1810.

>>> t=(25, "Mayo", 1810)

>>> 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]

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

IndexError: tuple index out of range

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')

¿Cuál es el cuarto elemento de (89766, "Alicia", "Hacker", (9, "Julio", 1988))?

Las tuplas son inmutables


Al igual que con las cadenas, las componentes de las tuplas no pueden ser modificadas:

>>> t[2] = 2008

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: 'tuple' object does not support item assignment

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)

Ejercicio. ¿Cuál es la longitud de (89766, "Alicia", "Hacker", (9, "Julio", 1988))?

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

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

IndexError: tuple index out of range

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)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: object of type 'int' has no len()

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

Un ejemplo para la comparación entre tuplas seria:

>>> t1 = (1,2)

>>> t2 = (1,3)

>>> if t1 < t2:

6
Computación 2 Ing. telecomunicaciones

Print (“t1 es less tha t2”)

>>> else:

Print (“t1 is greater than t2”)

La forma en que se compara es componente a componente

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í:

 Entre numero reales.


 Entre números complejos.
 Entre strings. Según orden alfabetico.
 Entre tuplas: Comparación según items de la tupla o según longitud (si las
longitudes son diferentes)
 Entre listas: Comparación según ítems del diccionario o según longitud (si las
longitudes son diferentes)
 Entre diccionarios: Comparación según ítems del diccionario o según longitud ( si
las longitudes son diferentes)

Además de esto, la forma de comparación cambia teniendo como referente el común de


los lenguajes (como C). podemos comprar sucesivamente como se hace en el matemática
que todos conocemos

Ejemplo

>>>a < b < c < d

>>>a == b == c ==d

A lo anterior es llamado comparaciones encadenadas

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:

>>>for i in reversed([1, 2, 3, 4]):


print (i)
Para iterar sobre una lista ordenada se utiliza la función sorted().
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.

Ejemplo. Asignación de múltiples valores de una vez

>>> v = ('a', 'b', 'e')


>>> (x, y, z) = v
>>> x
'a'
>>> y
'b'
>>> z
'e'
v es una tupla con tres elementos, y (x, y, z) es una tupla con tres variables. Al asignar
una a la otra se asigna cada uno de los valores de v a cada una de las variables, en orden.

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.

Ejemplo. Asignación de 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

ver los detalles.)

MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY y SUNDAY son las


variables que vamos a definir. (Este ejemplo proviene del módulo calendar, un pequeño
y divertido módulo que imprime calendarios, como el programa cal de UNIX. El
módulo calendar define constantes enteras para los días de la semana.)

Ahora cada variable tiene su valor: MONDAY es 0, TUESDAY es 1, y así sucesivamente.

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

You might also like