Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 7
Unidad 7
Fundamentos de Programación
Unidad 7 – Colecciones
Agenda
7.1 Tipos de colecciones y sus características.
7.3 Operaciones con colecciones.
Objetivos
• Identificar los diferentes tipos de colecciones para representar datos
relacionados.
• Usar un tipo de colección para resolver un problema que involucre
manejo de datos.
• Utilizar colecciones anidadas para resolver problemas complejos.
• Aplicar algoritmos receta para resolver problemas que utilicen
colecciones dentro de un programa.
7.1 – Tipos de colecciones y sus Características
Colecciones
Listas
Tuplas
Conjuntos (Sets)
Diccionarios
Tuplas
Tuplas
Acceso a elementos:
>>> tupla[0]
Índice
Devuelve: 'a'
>>> tupla[−1]
Devuelve: 11
>>> tupla[1:3]
Slicing
Devuelve: ('b', 'c')
Tuplas
• No pueden eliminarse elementos de una tupla.
• Las tuplas son inmutables.
• Las tuplas no tienen los métodos remove ni pop.
>>> list(tupla)
Tuplas
TIP:
Pensemos en las tuplas como una lista constante.
Tuplas
Empaquetando y desempaquetando datos
#desempaquetado
>>> x, y, z = t
def f(r):
""" Return (circumference, area) of a circle of radius r
""“
c=2*math.pi*r
a=math.pi*r*r
return (c, a)
#Definición directa
>>> u= {4,6,1,3,8,6}
>>> set("obtuse")
set(['b', 'e', 'o', 's', 'u', 't'])
Conjuntos
>>> 6 in s
False
>>> 6 not in s
True
Conjuntos: Pertenencia
También se puede verificar la pertenencia de conjuntos enteros.
Si nos dan dos subconjuntos, podemos verificar si el primero es un
subconjunto del segundo o superconjunto.
>>> s
set([32, 9, 12, 14, 54, 26])
Modificando Conjuntos: Eliminar Elementos
• pop
• remove
• discard
• clear
Modificando Conjuntos: Eliminar Elementos
>>> s = set([1,2,3,4,5,6])
>>> s.pop()
1
>>> s
set([2,3,4,5,6])
Modificando Conjuntos: Eliminar Elementos
Tenemos también la función remove para eliminar un elemento
específico:
>>> s.remove(3)
>>> s
set([2,4,5,6])
>>> s.clear()
>>> s
set([])
Conjuntos : Operaciones
#INTERSECCION
>>> A & B
{4, 5}
>>> A.intersection(B)
{4, 5}
>>> B.intersection(A)
{4, 5}
Conjuntos: Operaciones
>>> A = set([1, 2, 3, 4, 5])
>>> B = set([4, 5, 6, 7, 8])
# UNION
>>> A | B
{1, 2, 3, 4, 5, 6, 7, 8}
>>> A.union(B)
{1, 2, 3, 4, 5, 6, 7, 8}
>>> B.union(A)
{1, 2, 3, 4, 5, 6, 7, 8}
Conjuntos: Operaciones
>>> A = set([1, 2, 3, 4, 5])
>>> B = set([4, 5, 6, 7, 8])
#DIFERENCIA
>>> A - B
{1, 2, 3}
>>> A.difference(B)
{1, 2, 3}
>>> B - A
{8, 6, 7}
Conjuntos: Operaciones
#DIFERENCIA SIMETRICA
>>> A ^ B
{1, 2, 3, 6, 7, 8}
>>> A.symmetric_difference(B)
{1, 2, 3, 6, 7, 8}
>>> B.symmetric_difference(A)
{1, 2, 3, 6, 7, 8}
Ejercicios
• Crear un programa que muestre por pantalla una lista sin palabras repetidas de
una frase ingresada por el usuario.
• Una empresa de marketing desea saber que productos en común compran tres
usuarios en un supermercado. Para esto, la empresa tiene una lista de los
productos comprados para cada usuario. Mostrar por pantalla cuáles productos
compran en común los tres usuarios.
Tanto la clave como el valor puede ser casi cualquier cosa (cualquier
tipo de dato), pero la lógica del diccionario es que llamando a la clave
se obtenga su valor.
Diccionarios
Modificar un elemento
#Diccionario Original
dic= {“200705080”: ‘Jhonny Pincay’, “201525896”: ‘Martha Perez’}
#Modificando Elemento
dic[“200703080”] = “Vladimir Pincay”
#Diccionario Resultante
dic= {“200705080”: ‘Vladimir Pincay’, “201525896”: ‘Martha Perez’}
Diccionarios
Eliminar un elemento
del dic[“201685296”]
del dic[“200978945”]
dic.clear()
Diccionarios: Función keys()
La función keys() de un diccionario devuelve una colección con todas las claves.
Las claves no necesariamente estarán en el orden en que se definió el diccionario.
>>> midiccionario.keys()
>>> midiccionario.values()
>>> midiccionario.items()
>>> midiccionario.get('FechaNac')
'21/10/1986'
Ejemplo: Diccionario con valores tipo lista
>> dic = {123: [‘Anita’, 25], 234: [‘Elena’, 34], 456:[‘Carmen’, 45]}
Ejemplo: Diccionario con valores tipo lista
• Para acceder al contenido de la lista asociada a la clave,
debemos hacerlo a través de la clave en el diccionario y
luego a través del índice del elemento de la lista.
>> dic = {123: [‘Anita’, 25], 234: [‘Elena’, 34], 456:[‘Carmen’, 45]}
>> dic[123][0]
‘Anita’
>> dic[123][1]
25
Funciones comunes aplicables a Diccionarios
>> dic = {123: [‘Anita’, 25], 234: [‘Elena’, 34], 456:[‘Carmen’, 45]}
# Cantidad de elementos
>> len(dic)
3
[“Marcos”, “Martha”]
Crear una lista con los valores de un
diccionario: ítems()
>> lista
[(10,”Marcos”), (20,“Martha”)]
7.1 – Operaciones con colecciones
Operaciones con colecciones
Verificar pertenencia de
Indexamiento y slicing
conjuntos
Acceso a valores a
Verificar existencia de Añadir y eliminar través de las claves
elementos (in) elementos.
Iterando Colecciones
Tupla
>> a=(28,73,45,67,26,45)
>> for e in a:
print (e)
28
73
45
67
26
45
Conjunto
>> x = {7,3,8,6,9}
>> for e in x:
print (e)
8
9
3
6
7
Diccionarios
Por claves:
>> for c in d:
print(c,d[c])
¡e es una tupla!
¿Cuál es su estructura?
Diccionarios
Por ítems separados en clave, valor: