03
Encuentro 03
Programación
Orientada a
Objetos
BIENVENIDOS!
Encuentro 02. Programación Orientada a Objetos
SINTAXIS PYTHON Y
REPASO: LISTAS Y
TUPLAS
MAPA DE CONCEPTOS
LISTAS TIPOS DE LISTAS
FUNCIONES DE
LISTAS Y LISTAS
TUPLAS
PROCEDENCIA
TUPLAS Y
TUPLAS
ANIDACION
FUNCIONS E TRANSFORMACION
TUPLAS DE COLECCIONES
Temario
03 04
02
Repaso Números y Repaso Listas y Operadores y
cadenas de tuplas expresiones
caracteres
✓ El tipo Lógico
✓ Desafío de ✓ Listas
números ✓ Operadores
✓ Tuplas relacionales y
✓ Desafío de string lógicos
✓ Anidación
✓ Desafío de ✓ Expresiones
slicing ✓ Transformación anidadas
de colecciones
✓ Operadores de
asignación
Objetivos de la clase
Conocer que es una Lista.
Analizar similitud y diferencias de listas con
string
Comprender cómo asignar por slicing
Iniciar los primeros pasos con funciones de listas
Definir y trabajar con Tuplas
Encuentro 03. Programación Orientada a Objetos
LISTAS
TIPOS DE LISTAS
TIPOS COMPUESTOS
• En esta segunda lección vamos a estar hablando de
otro tipo de datos, llamado Lista o Array. Python es
un lenguaje muy flexible, el cual implementa multitud
de tipos distintos por defecto y eso incluye también
tipos compuestos de datos, los cuales se utilizan
para agrupar distintos elementos o ítems, por
ejemplo variables, o valores, de una forma ordenada,
es decir, mantienen el orden en el que se definieron.
LISTAS EN PYTHON
• El más versátil de los tipos compuestos, es la Lista,
la cual se describe como una lista de ítems
separados por coma y contenido entre dos
corchetes.
Ejemplo:
>>> mi_lista = [-11, 20 , 3, 41]
>>> otra_lista = [“Hola”, “como”, “estas”, “?”]
HETEROGÉNEAS
• En otros lenguajes, las listas tienen como restricción que
sólo permite tener un sólo tipo de dato. Pero en Python,
no tenemos esa restricción. Podemos tener una lista
heterogénea que contenga números, variables, strings,
o incluso otras listas, u otros tipos de datos que veremos
más adelante.
Ejemplo:
>>> mi_var = ‘Una variable’
>>> datos = [1, -5, 123,34, ‘Una cadena’, ‘Otra cadena’, mi_var]
LISTAS Y STRINGS
• Las listas son muy parecidas a los string, ya que funciona
exactamente igual con el índice y el slicing.
Ejemplo:
>>> datos = [1, -5, 123 , 34, ‘Una cadena’, ‘Otra cadena’, ‘Pepito’]
>>> datos[0]
1
>>> datos[-1]
‘Pepito’
>>> datos[-2:]
[‘Otra cadena’, ‘Pepito’]
LISTAS Y STRINGS
• Otra cosa en la que se parecen las listas a los strings, es que en
ambos se puede concatenar, en este caso se concatenan listas.
Ejemplo:
>>> datos = [1, -5, 123,34, ‘Una cadena’, ‘Otra cadena’]
>>> datos + [0, ‘Otra cadena distinta’, ‘Pepito’, -873758,123]
[1, -5, 123,34, ‘Una cadena’, ‘Otra cadena’, 0, ‘Otra cadena
distinta’, ‘Pepito’, -873758,123]
>>> numeros = [1,2,3,4]
>>> numeros + [5,6,7,8]
[1,2,3,4,5,6,7,8]
LISTAS Y STRINGS
• Sin embargo, hay una diferencia entre listas y string, los strings son
inmutables, pero, las listas son mutables, esto significa que si
podemos reasignar sus ítems haciendo referencia con el índice.
Ejemplo:
>>> pares = [0,2,4,5,8,10]
>>> pares[3] = 6
[0,2,4,6,8,10]
ASIGNACIÓN POR SLICING
• Como vimos, las listas son mutables por lo cual, podemos hacer algo
que en python se denomina asignación por slicing. Esto se logra
cuando modificamos cierta parte de la lista, y le damos otro valor.
Ejemplo:
>>> letras = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’]
>>> letras[:3] = [‘A’, ‘B’, ‘C’]
[‘A’, ‘B’, ‘C’, ‘d’, ‘e’, ‘f’]
Python no exige que sean los mismos
valores los que se pueden reasignar
BORRAR VALORES POR SLICING
• Otra funcionalidad que podemos utilizar gracias a la mutabilidad de
las listas y al slicing es borrar los ítems que queramos de una lista.
Ejemplo:
>>> letras = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’]
>>> letras[:3] = [ ]
[‘d’, ‘e’, ‘f’]
De esta forma le decimos que los 3
primeros valores son una lista vacía,
entonces lo “borra”.
BORRAR VALORES
• ¿Y si quisiéramos borrar todos los valores de una lista? En python
podemos hacerlo de una forma muy sencilla, la cual sería re asignar
los ítems de dicha lista a una lista vacía:
Ejemplo:
>>> letras = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’]
>>> letras = [ ]
[]
¡PARA PENSAR!
• ¿Crees que esta forma nos sirve para instanciar una lista
vacía de Python?
FUNCIONES DE LISTAS
¿QUÉ SON?
• En las listas, hay funciones que son muy interesantes e importantes,
las funciones integradas. Las listas en python tienen muchas
funciones para utilizar, entre todas ellas vamos a nombrar las más
importantes
Hablaremos de las funciones en python en una clase en el futuro
¿QUÉ SON?
APPEND
APPEND
La primer función de las listas de la que estaremos hablando es
APPEND. Esta función permite agregar un nuevo ítem al final de
una lista. La misma se escribe mi_lista.append(ítem_a_agregar)
Ejemplo:
>>> numeros = [1,2,3,4]
mi_lista sería la lista a la que se le desee agregar el
>>> [Link](5)
[1,2,3,4,5] ítem, e ítem_a_agregar sería el ítem que deseemos
agregar a la lista.
APPEND
No sólo acaba ahí. En la función append también podemos
realizar operaciones aritméticas en nuestro ítem.
Ejemplo:
>>> numeros = [1,2,3,4]
>>> [Link](3*2)
[1,2,3,4,6]
>>> [Link](3**2+1-12+5*)
[1,2,3,4,6,13]
LONGITUD DE LA LISTA
¿Se acuerdan cuando hablamos de len en string?
En listas, se puede usar exactamente la misma función para
poder saber la longitud de una lista, es decir, la cantidad de ítems
dentro de la misma.
Ejemplo:
>>> numeros = [1,2,3,4]
>>> len(numeros)
4
>>> datos = [1, -5, 123,34, ‘Una cadena’, ‘Otra cadena’]
>>> len(datos)
5
POP
POP
Si append permite agregar un ítem al final de una lista, pop hace
todo lo contrario, elimina el último ítem de una lista, sin modificar
el resto de la lista.
Se escribe como mi_lista.pop().
Ejemplo:
>>> numeros = [1,2,3,4]
>>> [Link]()
[1,2,3]
>>> datos = [1, -5, 123,34, ‘Una cadena’, ‘Otra cadena’]
>>> [Link]()
[1, -5, 123,34, ‘Una cadena’]
POP
Si especificamos algo entre el paréntesis al decir
mi_lista.pop(algo),
Pop eliminará el primer ítem de ese valor que encuentre.
Ejemplo:
>>> numeros = [1,2,1,3,4,1]
>>> [Link](1)
[2,1,3,4,1]
COUNT + INDEX
COUNT
Las listas pueden utilizar la función count.
Esta función cuenta el número de veces que nuestro ítem se
repite en una lista.
Ejemplo:
>>> numeros = [1,2,1,3,1,4,1]
>>>[Link](1)
4
INDEX
Las listas pueden utilizar la función index.
Esta función busca nuestro ítem y nos dice en qué índice se
encuentra. // Reveer explicación, fijarse si devuelve el primer
valor
Ejemplo:
Si se intenta buscar un valor fuera de la
>>> numeros = [1,2,1,3,1,4,1,5]
lista, devolverá un error y que no se
>>> [Link](5)
7 encontró el valor
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: [Link](x): x not in list
¿Preguntas?
¿Quieres saber más?
Te dejamos material
ampliado de la clase
MATERIAL AMPLIADO
Recursos multimedia
✓ [Link] | Link a la Meet (Encuentro presencial los
Martes y Jueves de 9:00 a 11:50 hs)
✓ [Link]
?usp=sharing | Acceso a la carpeta del Drive
Break
Encuentro 03. Programación Orientada a Objetos
TUPLAS
TIPOS DE TUPLAS
TIPOS COMPUESTOS
• Las tuplas son unas colecciones de datos
parecidas a las listas, una de las
diferencias es que estas son inmutables. Se
utilizan para asegurarnos que una
colección determinada de datos no se
pueda modificar.
• Python utiliza tuplas en algunas funciones
para devolver resultados inmutables, por
eso, conviene saber identificarlas. A su
vez, dependiendo de lo que queramos
hacer, las tuplas pueden ser más rápidas
que las listas.
TUPLAS EN PYTHON
Una tupla se declara muy similar a una lista, con la única
diferencia que utiliza paréntesis en lugar de corchetes
Ejemplo:
>>> mi_tupla = (1,2,3,4)
>>> otra_tupla = (“Hola”, “como”, “estas”, “?”)
Para declarar una tupla con un único valor hay que declararla de
la siguiente forma:
>>> tupla_un_elemento = (2,)
De lo contrario, tupla_vacia recibirá el valor 2 y no será una tupla,
si no, un int
HETEROGÉNEAS
Al igual que las listas, las tuplas no tienen la restricción sobre el tipo de datos de los
ítems. Podemos tener una tupla que contenga números, variables, strings, o incluso
otras listas, u otros tipos de datos que veremos más adelante.
Ejemplo:
>>> mi_var = ‘Una variable’
>>> datos = (1, -5, 123,34, ‘Una cadena’, ‘Otra cadena’, mi_var)
TUPLAS
Como las listas, las tuplas funcionan exactamente igual con el índice y el slicing.
Ejemplo:
>>> datos = (1, -5, 123 , 34, ‘Una cadena’, ‘Otra cadena’, ‘Pepito’)
>>> datos[0]
1
>>> datos[-1]
‘Pepito’
>>> datos[2:]
(‘Otra cadena’, ‘Pepito’)
CONCATENACIÓN
Otra cosa en la que se parecen las tuplas a las listas, es que en ambos casos se puede
concatenar.
Importante: NO FUNCIONA APPEND pero puedes agregar cosas
Ejemplo:
>>> datos = (1, -5, 123,34, ‘Una cadena’, ‘Otra cadena’)
>>> datos + (0, ‘Otra cadena distinta’, ‘Pepito’, -873758,123)
(1, -5, 123,34, ‘Una cadena’, ‘Otra cadena’, 0, ‘Otra cadena distinta’,
‘Pepito’, -873758,123)
>>> numeros = (1,2,3,4)
>>> numeros + (5,6,7,8)
(1,2,3,4,5,6,7,8)
MUTABILIDAD
Como vimos, hay una diferencia entre listas y tuplas, las listas son mutables (podían
reasignar sus ítems), en cambio las tuplas son inmutables, esto significa que no
podemos reasignar sus ítems haciendo referencia con el índice.
Ejemplo:
>>>mi_tupla = (1,2,3,4)
>>> mi_tupla[2] = 5
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
mi_tupla[2] = 5
TypeError: ‘tuple’ object does not support item assignment
BORRAR VALORES EN TUPLAS
Igual que en las listas, podremos borrar todos los valores de una tupla simplemente
indicando que la variable ahora contendrá una tupla vacía
Ejemplo:
>>> letras = (‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’)
>>> letras = ()
()
Nota: Ésta también es la forma de instanciar una tupla vacía en Python
FUNCIONES DE TUPLAS
LONGITUD DE LA TUPLA
Al igual que listas, las tuplas pueden utilizar la función len.
Ejemplo:
>>> numeros = (1,2,3,4)
>>> len(numeros)
4
>>> datos = (1, -5, 123.34, ‘Una cadena’, ‘Otra cadena’)
>>> len(datos)
5
COUNT
Al igual que las listas, las tuplas pueden utilizar la función count. Esta función
cuenta el número de veces que nuestro ítem se repite en una tupla.
Ejemplo:
>>> numeros = (1,2,1,3,1,4,1)
>>>[Link](1)
4
INDEX
Al igual que las listas, las tuplas pueden utilizar la función index. Esta función busca
nuestro ítem y nos dice en qué índice se encuentra.
Ejemplo:
>>> numeros = (1,2,1,3,1,4,1,5)
>>> [Link](5)
7
Si se intenta buscar un valor fuera de la tupla, devolverá un error y que no se
encontró el valor
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: [Link](x): x not in tuple
ANIDACIÓN
ANIDADAS
En Python, una tupla y una lista pueden ser
Anidadas esto significa, que pueden contener una
lista o una tupla dentro de sí respectivamente. Ejemplo:
Ejemplo: >>> a = [1,2,3]
>>> b = [4,5,6]
>>> datos = [155,[2,3,4], ‘Una cadena’,‘Otra >>> c = [7,8,9]
cadena’] >>> resultado = [a, b, c]
>>> otros_datos = (2, (5,7,8), 1, 8) [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> lista_con_tupla = [1, (2,3,4), ‘Una >>> resultado[0]
cadena’, ‘Otra cadena’] [1,2,3]
>>> tupla_con_lista = (2, [5,7,8], 1, 8) >>> resultado[0][1]
2
A continuación mostraremos un ejemplo de cómo
acceder a los datos anidados:
TRANSFORMACIÓN DE
COLECCIONES
TRANSF. UNA COLECCIÓN A OTRA
En Python, podemos convertir una lista a una tupla haciendo uso de la función tuple() y a
su vez, podemos hacer lo mismo pero a la inversa, es decir, convertir una tupla a lista
usando la función list().
Ejemplo:
numeros = (1,2,3,4)
numeros_list = list(numeros)
print(numeros_list)
print(type(numeros_list))
datos = [1, -5, 123,34, 'Una cadena', 'Otra cadena']
datos_tuple = tuple(datos)
print(datos_tuple)
print(type(datos_tuple))
DESAFÍO DE LISTAS Y
TUPLAS
DESAFÍO DE LISTAS
Formato: Usar GoogleColab
>> Consigna: Dadas dos listas LISTA1 y LISTA2 debes realizar las siguientes tareas:
• Añade a la LISTA1 el int 1234 y luego el string “Hola”
• Añade a la LISTA2 el string “Adios” y luego el int 1234
• Genera una LISTA3 con todos los elementos de la LISTA1 menos el último
• Genera una LISTA4 con todos los elementos de la LISTA2 menos el primero y el último
• Genera una LISTA5 con los elementos de la LISTA4 y de la LISTA3
lista1 = [1, 12, 123]
lista2 = ["Bye", "Ciao", "Agur", "Adieu"]
DESAFÍO DE TUPLAS
Formato: Usar GoogleColab
>> Consigna: A partir de una variable llamada tupla, imprimir por pantalla de forma ordenada, lo
siguiente:
• El último ítem de tupla
• El número de ítems de tupla
• La posición donde se encuentra el ítem 87 de tupla
• Una lista con los últimos tres ítems de tupla
• Un ítem que haya en la posición 8 de tupla
• El número de veces que el ítem 7 aparece en tupla
Copia esta tupla para iniciar el ejercicio:
tupla = (5, 12, 7, 37, 8, 86, 19, 7, -783, 87, 188, 7, 9, 12, 7, 3982)
1
¡PRÁCTICAS INICIALES!
Realizar los ejercicios.
¡PRÁCTICAS INICIALES!
Formato: Documento Google Docs o un link a su Colabs.
En un documento que tiene el nombre de “Desafío entregable”, deben
colocar su nombre: “Nombre+Apellido”.
>> Consigna: Realizar los ejercicio que se encuentran disponibles en la carpeta @resources del
Drive de este encuentro:
>>Aspectos a incluir en el entregable:
- Copia del documento con tus respuestas. Documento
1) Identifica el tipo de dato (int, float, string, list o touple) de los siguientes valores literales
2) Determina mentalmente (sin programar) el resultado que aparecerá por pantalla a partir de las
siguientes variables
3) El siguiente código pretende realizar una media entre 3 números, pero no funciona
correctamente. ¿Eres capaz de identificar el problema y solucionarlo?
4) A partir del ejercicio anterior, desarrolla un programa para calcular la nota final. Para ello vamos
a suponer que cada número es una nota y que queremos obtener la nota media. Cada nota tiene
un valor porcentual
5) La siguiente matriz (o lista con listas anidadas) debe cumplir una condición: en cada fila el cuarto
elemento siempre debe ser el resultado de sumar los tres primeros. ¿Eres capaz de modificar las
sumas incorrectas utilizando la técnica del slicing?
¿Preguntas?
¿Quieres saber más?
Te dejamos material
ampliado de la clase
MATERIAL AMPLIADO
Recursos multimedia
✓ Artículo: Tipo Listas
✓ Artículo: Funciones Listas
✓ Artículo: Tipo Tuplas
✓ EjemplosClaseEnVivo
✓ Listas | Nicolás Perez
✓ Tuplas | Nicolás Perez
Resumen
de la clase hoy
✓ Listas
✓ Tuplas
✓ Anidación
✓ Transformación de colecciones