08 Python - Colecciones de Datos I

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

Profesora: Mariángeles Glavina

GUÍA 8: COLECCIONES DE DATOS I EN PYTHON: TUPLAS y LISTAS

TUPLAS
En Python, una tupla es un conjunto ordenado e inmutable de elementos del mismo o diferente tipo. Las tuplas
se representan escribiendo los elementos entre paréntesis y separados por comas.

A = (1, "a", 3.14)


print (A) (1, 'a', 3.14)

La función len() devuelve el número de elementos de una tupla (longitud de la tupla):

len((1, "a", 3.14)) 3

Una tupla puede no contener ningún elemento, es decir, ser una tupla vacía.

A = ()
print (A) ()
len(A) 0

Una tupla puede incluir un único elemento, pero para que Python entienda que nos estamos refiriendo a una tupla
es necesario escribir al menos una coma.
El ejemplo siguiente muestra la diferencia entre escribir o no una coma. En el primer caso Python interpreta la
expresión como un número y en el segundo como una tupla de un único elemento.

A = (3)
print (A) 3
len(A) Error

A = (3,)
print (A) (3,)
len(A) 1

Se puede acceder a cada uno de los datos mediante su índice correspondiente, siendo 0 (cero), el índice del primer
elemento:
mi_tupla = ('cadena de texto', 15, 2.8, 'otro dato', 25)
print (mi_tupla[1]) # Salida: 15
También se puede acceder a una porción de la tupla, indicando (opcionalmente) desde el índice de inicio hasta el
índice de fin:
print (mi_tupla[1:4]) # Devuelve: (15, 2.8, 'otro dato')

print (mi_tupla[3:]) # Devuelve: ('otro dato', 25)


print (mi_tupla[:2]) # Devuelve: ('cadena de texto', 15)
Profesora: Mariángeles Glavina

Otra forma de acceder a la tupla de forma inversa (de atrás hacia adelante), es colocando un índice negativo:

print (mi_tupla[-1]) # Salida: 25


print (mi_tupla[-2]) # Salida: otro dato

Listas
Las listas (list) son conjuntos ordenados de datos del mismo o diferente tipo, y no son inmutables, o sea que
se puede modificar su contenido. En otros lenguajes son conocidos como arrays, arreglos, o vectores. Python
permite manipular listas de muchas maneras.
Una lista, cuyo contenido puede modificarse.
Se representan escribiendo los elementos entre corchetes y separados por comas.
Las variables de tipo lista hacen referencia a la lista completa.

lista = [1, "abcde", 45.5, -32]


print(lista) [1, 'abcde', 45.5, -32]

Una lista que no contiene ningún elemento se denomina lista vacía:

lista = [ ]
print(lista) [ ]

Las listas pueden contener elementos del mismo tipo:


primos = [2, 3, 5, 7, 11, 13]
diasLaborables = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes"]

O pueden contener elementos de tipos distintos:

fecha = ["Lunes", 27, "Octubre", 1997]

O pueden contener listas:

peliculas = [ ["Senderos de Gloria", 1957], ["Hannah y sus hermanas", 1986]]

Las listas pueden tener muchos niveles de anidamiento:

directores = [ ["Stanley Kubrick", ["Senderos de Gloria", 1957]], ["Woody Allen", ["Hannah y


sus hermanas", 1986]] ]

Al definir una lista se puede hacer referencia a otras variables.

nombre = "Pepe"
edad = 25
lista = [nombre, edad]
print(lista) ['Pepe', 25]
Profesora: Mariángeles Glavina

Concatenar listas

Las listas se pueden concatenar con el símbolo de la suma (+):

vocales = ["E", "I", "O"]


print(vocales)
['E', 'I', 'O']
vocales = ["E", "I", "O"]
vocales = vocales + ["U"]
print(vocales)
['E', 'I', 'O', 'U']
vocales = ["E", "I", "O"]
vocales = ["A"] + vocales + ["U"]
print(vocales)
['A', 'E', 'I', 'O', 'U']

Atención: El operador suma (+) necesita que los dos operandos sean listas:

vocales = ["E", "I", "O"]


vocales = vocales + "Y"
print(vocales)
Traceback (most recent call last): File
"<pyshell#2>", line 1, in <module>
vocales = vocales + "Y"
TypeError: can only concatenate list (not "str") to list

Se puede utilizar el operador += para añadir elementos al final de una lista:

vocales = ["A"]
vocales += ["E"]
print(vocales) ['A', 'E']

También se puede utilizar el método append para añadir elementos al final de una lista:

vocales = ["A"]
vocales.append("E")
print(vocales) ['A', 'E']

Podemos agregar un elemento a una lista en la posición que deseemos aplicando el método insert,
facilitando como parámetro adicional el índice en el que quedará ubicado. El elemento que estaba situado en esa
posición se desplazará un puesto hacia la derecha.

vocales = ["E", "I", "U"]


vocales.insert(0,"A")
print(vocales) ['A', 'E', 'I', 'U']
vocales.insert(3,"O")
print(vocales) ['A', 'E', 'I', 'O', 'U']
Profesora: Mariángeles Glavina

Manipular elementos individuales de una lista

Cada elemento se identifica por su posición en la lista, teniendo en cuenta que se empieza a contar por 0.

fecha = [27, "Octubre", 1997]


print(fecha[0]) 27

fecha = [27, "Octubre", 1997]


print(fecha[1]) Octubre

No se puede hacer referencia a elementos fuera de la lista:

fecha = [27, "Octubre", 1997]


print(fecha[3])
Traceback (most recent call last): File
"<pyshell#3>", line 1, in <module>
fecha[3]
Index error: list index out of range
Se pueden utilizar números negativos (el último
elemento tiene el índice -1 y los elementos anteriores
tienen valores descendentes):
fecha = [27, "Octubre", 1997]
print(fecha[-1])
1997
fecha = [27, "Octubre", 1997]
print(fecha[-2])
Octubre

Se puede modificar cualquier elemento de una lista haciendo referencia a su posición:

fecha = [27, "Octubre", 1997]


fecha[2] = 1998
print(fecha[0])
print(fecha[2]) 27
1998

Manipular sublistas

De una lista se pueden extraer sublistas, utilizando la notación nombreDeLista [inicio:límite], donde inicio y límite
hacen el mismo papel que en el tipo range(inicio, límite).

dias = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"]

print(dias[1:4]) # Se extrae una lista con los valores 1, 2 y 3


['Martes', 'Miércoles', 'Jueves']
Profesora: Mariángeles Glavina

print(dias[4:5]) # Se extrae una lista con el valor 4


['Viernes']
print(dias[4:4]) # Se extrae una lista vacía
[]
print(dias[:4]) # Se extrae una lista hasta el valor 4 (no incluido)
['Lunes', 'Martes', 'Miércoles', 'Jueves']
print(dias[4:]) # Se extrae una lista desde el valor 4 (incluido)
['Viernes', 'Sábado', 'Domingo']
print(dias[:]) # Se extrae una lista con todos los valores
['Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo']

Se puede modificar una lista modificando sublistas. De esta manera se puede modificar un elemento o varios a la
vez e insertar o eliminar elementos.
letras = ["A", "B", "C", "D", "E", "F", "G", "H"]

letras[1:4] = ["X"] # Se sustituye la sublista ['B','C','D'] por ['X']


print(letras)
['A', 'X', 'E', 'F', 'G', 'H']
letras[1:4] = ["Y", "Z"] # Se sustituye la sublista ['X','E','F'] por ['Y','Z']
print(letras)
['A','Y', 'Z', 'G', 'H']
letras[0:1] = ["Q"] # Se sustituye la sublista ['A'] por ['Q'] print(letras)
['Q', 'Y', 'Z', 'G', 'H']
letras[3:3] = ["U", "V"] # Inserta la lista ['U','V'] en la posición 3 print(letras)
['Q', 'Y', 'Z', 'U', 'V', 'G', 'H']
letras[0:3] = [] # Elimina la sublista ['Q','Y', 'Z'] print(letras)
['U', 'V', 'G', 'H']
Al definir sublistas, Python acepta valores fuera del rango, que se interpretan como extremos (al final o al principio
de la lista).

letras = ["D", "E", "F"]

letras[3:3] = ["G", "H"] # Añade ["G", "H"] al final de la lista


print(letras)
['D', 'E', 'F', 'G', 'H']
letras[100:100] = ["I", "J"] # Añade ["I", "J"] al final de la lista
print(letras)
['D', 'E', 'F', 'G', 'H', 'I', 'J']
Profesora: Mariángeles Glavina

letras[-100:-50] = ["A", "B", "C"] # Añade ["A", "B", "C"] al principio de la lista
print(letras)
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']

Eliminar elementos de una lista: La palabra reservada del

La palabra reservada del permite eliminar un elemento o varios elementos a la vez de una lista, e incluso la misma
lista.

letras = ["A", "B", "C", "D", "E", "F", "G", "H"] del
letras[4] # Elimina la sublista ['E']
print(letras)
['A', 'B', 'C', 'D', 'F', 'G', 'H']
del letras[1:4] # Elimina la sublista ['B', 'C', 'D']
print(letras)
['A', 'F', 'G', 'H']
del letras # Elimina completamente la lista
print(letras)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in ?
letras
NameError: name 'letras' is not defined

Si se intenta borrar un elemento que no existe, se produce un error:

letras = ["A", "B", "C", "D", "E", "F", "G", "H"]


del letras[10]
Traceback (most recent call last): File
"<pyshell#1>", line 1, in <module>
del letras[10]
IndexError: list assignment index out of range

Aunque si se hace referencia a sublistas, Python sí que acepta valores fuera de rango, pero lógicamente no se
modifican las listas.

letras = ["A", "B", "C", "D", "E", "F", "G", "H"]


del letras[100:200] # No elimina nada
print(letras) ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']

Recorrer una lista


Se puede recorrer una lista de principio a fin de dos formas distintas:
Una forma es recorrer directamente los elementos de la lista, es decir, que la variable de control del bucle
tome los valores de la lista que estamos recorriendo:
Profesora: Mariángeles Glavina

Recorrer una lista directamente

letras = ["A", "B", "C"]


for i in letras:
print (i, end=" ")
A B C
La otra forma es recorrer indirectamente los elementos de la lista, es decir, que la variable de control del bucle
tome como valores los índices de la lista que estamos recorriendo (0,1 ,2 , etc.). En este caso, para acceder a los
valores de la lista hay que utilizar letras[i]:

Recorrer una lista indirectamente

letras = ["A", "B", "C"]


for i in range(len(letras)):
print(letras[i], end=" ")
A B C
La primera forma es más sencilla, pero sólo permite recorrer la lista de principio a fin y utilizar los valores de la
lista.
La segunda forma es más complicada, pero permite más flexibilidad, como muestran los siguientes ejemplos:
Recorrer una lista al revés
letras = ["A", "B", "C"]
for i in range(len(letras)-1, -1, -1):
print (letras[i], end =" ")
C B A
Recorrer y modificar una lista

letras = ["A", "B", "C"]


print(letras)
for i in range (len(letras)):
letras[i] = "X"
print(letras)

[ 'A', 'B', 'C']

['X', 'B', 'C' ]

['X', 'X', 'C']


['X', 'X', 'X']

Eliminar elementos de la lista según una condición

Para eliminar los elementos de una lista necesitamos recorrer la lista al revés. Si recorremos la lista de principio
a fin, al eliminar un valor de la lista, la lista se acorta y cuando intentamos acceder a los últimos valores se
produce un error de índice fuera de rango, como muestra el siguiente ejemplo en el que se eliminan los valores
de una lista que valen "B":
Profesora: Mariángeles Glavina

Eliminar valores de una lista (incorrecto)


letras = ["A", "B", "C"]
print(letras)
for i in range(len(letras)):
if letras[i] == "B":
del letras[i]
print (letras)
['A', 'B', 'C']
['A', 'B', 'C']

['A', 'C']
Traceback (most recent call last):
File "ejemplo.py", line 4, in <module>
if letras[i] == "B":
IndexError: list index out of range
La solución es recorrer la lista en orden inverso, de manera que aunque se eliminen elementos y la lista se
acorte, los valores que todavía no se han recorrido siguen existiendo en la misma posición que al principio.
Eliminar valores de una lista (correcto)

letras = ["A", "B", "C"]


print(letras)
for i in range(len(letras)-1, -1, -1):
if letras[i] == "B":
del letras[i]
print(letras)
['A', 'B', 'C']
['A', 'B', 'C']
['A', 'C']
['A', 'C']

Saber si un valor está o no en una lista

Para saber si un valor está en una lista se puede utilizar el operador in. La sintaxis sería "elemento in lista" y
devuelve un valor lógico: True si el elemento está en la lista, False si el elemento no está en la lista. Por ejemplo,
el programa siguiente comprueba si el usuario es una persona autorizada:
personas_autorizadas = ["Alberto", "Carmen"]
nombre = input("Dígame su nombre: ")
if nombre in personas_autorizadas:
print("Está autorizado")
else:
print("No está autorizado")
Profesora: Mariángeles Glavina

Para saber si un valor no está en una lista se pueden utilizar los operadores not in. La sintaxis sería "elemento not
in lista" y devuelve un valor lógico: True si el elemento no está en la lista, False si el elemento está en la lista.
Por ejemplo, el programa siguiente comprueba si el usuario es una persona autorizada:

personas_autorizadas = ["Alberto" , "Carmen" ]


nombre = input ("Dígame su nombre: ")
if nombre not in personas_autorizadas:
print("No está autorizado")
else:
print("Está autorizado")

Listas

A. Cargar los valores del 1 al 100 en una lista, y mostrar la lista completa, y la lista elemento por elemento
separados por guiones
B. Crear las funciones para el siguiente main (completar con las instrucciones faltantes) que crea una lista de
números aleatorios del 1 al 10, según la cantidad de nros solicitada al usuario. Luego le pide un índice por
teclado (debe estar dentro de la cantidad de valores de la lista) y muestra el valor guardado en la lista bajo ese
índice
cantidad = pedir_cantidad_de_valores()
lista_de_numeros = crear_lista(cantidad)
indice = pedir_indice(cantidad)
mostrar_valor(lista_de_numeros_indice)
mostrar_lista(lista_de_numeros)

C. Crea una tupla con los meses del año. Pide un número al usuario, si el número esta entre 1 y la longitud
máxima de la tupla (incluido), muestra el contenido de esa posición sino muestra un mensaje de error. Utilizar
funciones.

D. Pide un número por teclado y guarda en una lista su tabla de multiplicar hasta el 10. Por ejemplo, si pide el 5 la
lista tendrá: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 . Luego muestra la tabla con el siguiente formato

1x5=5

2 x 5 = 10

Etc etc

E. Pide números y mételos en una lista, cuando el usuario meta un 0 ya dejaremos de insertar. Por último,
muestra los números ordenados de menor a mayor. (En clase se explicarán los métodos de ordenamiento más
comunes y la función sort() )

F. Lo mismo que el anterior pero ordenando de mayor a menor.


Profesora: Mariángeles Glavina

G. Crea una lista con números al azar, pide un número por teclado e indica cuantas veces se repite.

H. Crea una lista con números al azar e indica el número con mayor valor y el que menor tenga. (sin usar las
funciones max() y min() )

I. Escriba un programa que permita crear una lista de palabras. Para ello, el programa tiene que pedir un número
y luego solicitar ese número de palabras para crear la lista. Por último, el programa tiene que escribir la lista.

Dígame cuántas palabras tiene la lista: 3


Dígame la palabra 1: Alberto
Dígame la palabra 2: Benito
Dígame la palabra 3: Carmen
La lista creada es: ['Alberto', 'Benito', 'Carmen']
Dígame cuántas palabras tiene la lista: 0 ¡Imposible!

J. Escriba un programa que permita crear una lista de palabras y que, a continuación, pida una palabra y diga
cuántas veces aparece esa palabra en la lista.

Dígame cuántas palabras tiene la lista: 4


Dígame la palabra 1: Carmen
Dígame la palabra 2: Alberto
Dígame la palabra 3: Benito
Dígame la palabra 4: Carmen
La lista creada es: ['Carmen', 'Alberto', 'Benito', 'Carmen']
Dígame la palabra a buscar: Carmen
La palabra 'Carmen' aparece 2 veces en la lista.

Dígame cuántas palabras tiene la lista: 4


Dígame la palabra 1: Carmen
Dígame la palabra 2: Alberto
Dígame la palabra 3: Benito
Dígame la palabra 4: Carmen
La lista creada es: ['Carmen', 'Alberto', 'Benito', 'Carmen']
Dígame la palabra a buscar: Alberto
La palabra 'Alberto' aparece una vez en la lista.

Dígame cuántas palabras tiene la lista: 4


Dígame la palabra 1: Carmen
Dígame la palabra 2: Alberto
Dígame la palabra 3: Benito
Dígame la palabra 4: Carmen
La lista creada es: ['Carmen', 'Alberto', 'Benito', 'Carmen']
Dígame la palabra a buscar: David
La palabra 'David' no aparece en la lista.
Profesora: Mariángeles Glavina

K. Escriba un programa que permita crear una lista de palabras y que, a continuación, pida dos palabras y
sustituya la primera por la segunda en la lista.

Dígame cuántas palabras tiene la lista: 4


Dígame la palabra 1: Alberto
Dígame la palabra 2: Carmen
Dígame la palabra 3: Benito
Dígame la palabra 4: Carmen
La lista creada es: ['Alberto', 'Carmen', 'Benito', 'Carmen']
Sustituir la palabra: Carmen por la palabra: David
La lista es ahora: ['Alberto', 'David', 'Benito', 'David']

L. Escriba un programa que permita crear una lista de palabras y que, a continuación, pida una palabra y elimine
esa palabra de la lista.

Dígame cuántas palabras tiene la lista: 4


Dígame la palabra 1: Alberto
Dígame la palabra 2: Carmen
Dígame la palabra 3: Carmen
Dígame la palabra 4: Benito
La lista creada es: ['Alberto', 'Carmen', 'Carmen', 'Benito']
Palabra a eliminar: Carmen
La lista es ahora: ['Alberto', 'Benito']

M. Escriba un programa que permita crear dos listas de palabras y que, a continuación, elimine de la primera lista
los nombres de la segunda lista.

Dígame cuántas palabras tiene la lista: 5


Dígame la palabra 1: Carmen
Dígame la palabra 2: Carmen
Dígame la palabra 3: Alberto
Dígame la palabra 4: Benito
Dígame la palabra 5: David
La lista creada es: ['Carmen', 'Carmen', 'Alberto', 'Benito', 'David']
Dígame cuántas palabras tiene la lista de palabras a eliminar: 3
Dígame la palabra 1: Benito
Dígame la palabra 2: Juan
Dígame la palabra 3: Carmen
La lista de palabras a eliminar es: ['Benito', 'Juan', 'Carmen']
La lista es ahora: ['Alberto', 'David']

N. Inventen una función para que dada una lista de valores ingresados por el usuario, devuelva la lista invertida.

Ejemplo: SE INGRESAN ELEMENTOS POR TECLADO HASTA QUE EL USUARIO LO DESEE:


Profesora: Mariángeles Glavina

Ingrese elemento 1 o asterisco para terminar: Bogotá


Ingrese elemento 2 o asterisco para terminar: Rosario
Ingrese elemento 3 o asterisco para terminar: Santiago
Ingrese elemento 4 o asterisco para terminar: San Fernando
Ingrese elemento 5 o asterisco para terminar: *

La lista original es: ['Bogotá', 'Rosario', 'Santiago', 'San Fernando']


La lista invertida es: ['San Fernando', 'Santiago', 'Rosario', 'Bogotá']

O. Escriba un programa que permita crear una lista de palabras y que, a continuación, elimine los elementos
repetidos (dejando únicamente el primero de los elementos repetidos).

Dígame cuántas palabras tiene la lista: 4


Dígame la palabra 1: Alberto
Dígame la palabra 2: Carmen
Dígame la palabra 3: Benito
Dígame la palabra 4: Carmen
La lista creada es: ['Alberto', 'Carmen', 'Benito', 'Carmen'] La
lista sin repeticiones es: ['Alberto', 'Carmen', 'Benito']

P. Escriba un programa que permita crear dos listas de palabras y que, a continuación, escriba las siguientes
listas (en las que no debe haber repeticiones):

• Lista de palabras que aparecen en las dos listas.


• Lista de palabras que aparecen en la primera lista, pero no en la segunda.
• Lista de palabras que aparecen en la segunda lista, pero no en la primera.
• Lista de todas las palabras que aparecen las listas.

Dígame cuántas palabras tiene la primera lista: 4


Dígame la palabra 1: Carmen
Dígame la palabra 2: Alberto
Dígame la palabra 3: Benito
Dígame la palabra 4: Carmen
La primera lista es: ['Carmen', 'Alberto', 'Benito', 'Carmen']
Dígame cuántas palabras tiene la segunda lista: 3
Dígame la palabra 1: Benito
Dígame la palabra 2: Juan
Dígame la palabra 3: Carmen
La segunda lista es: ['Benito', 'Juan', 'Carmen']
Palabras que aparecen en las dos listas: ['Carmen', 'Benito']
Palabras que sólo aparecen en la primera lista: ['Alberto'] Palabras
que sólo aparecen en la segunda lista: ['Juan']
Todas las palabras: ['Carmen', 'Benito', 'Alberto', 'Juan']
Profesora: Mariángeles Glavina

Q) Diseñar un programa que calcule el grado y los coeficientes correspondientes a un polinomio que resulta de
aplicar el algoritmo de la división de Ruffini. Mostrar el resto de la división. (Ayuda: los datos ingresados deberán
ser el grado del polinomio y el coeficiente independiente del divisor. Los coeficientes ingresados por el usuario se
guardarán en un lista, para poder resolver)

R) a) Diseñen una función que permita crear una tupla con datos de personas ingresados por el usuario con el
siguiente formato:

(dni, apellido, nombre, lugar de nacimiento)

b) Diseñen una función que permita agregar tuplas a una lista, de manera que se pueda crear una lista de tuplas
con datos de personas

c) Ingresen los siguientes datos de personas:

12345678 Kovacs Martín CABA


34567812 Glavina Pablo Zaragoza
23456781 Wainraich Sebastián CABA
4567891 Martinez Suarez Rosa Villa Cañás
45678913 Casanova Ana María CABA
36784903 Wiebe Alejandro Carapachay

d) Realicen una función que pida un DNI y busque en la lista todos los datos correspondientes a ese dni. Si el DNI
no existe debe informarlo

S) PARA PENSAR: (Curso Python UNSAM)


Imaginate una fila con varios fósforos uno al lado del otro. Los fósforos pueden estar en tres estados: nuevos, prendidos
fuego o ya gastados (carbonizados). Representaremos esta situación con una lista L con un elemento por fósforo, que en
cada posición tiene un 0 (nuevo), un 1 (encendido) o un -1 (carbonizado). El fuego se propaga inmediatamente de un fósforo
encendido a cualquier fósforo nuevo que tenga a su lado. Los fósforos carbonizados no se encienden nuevamente.

Escribí una función llamada propagar que reciba un vector con ceros, unos y
menos unos, y devuelva un vector en el que los unos se propagaron a sus vecinos
con 0. Guardalo en un archivo propaga.py.

Por ejemplo:
>>> propagar([ 0, 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 0, 0])
[ 0, 0, 0,-1, 1, 1, 1, 1,-1, 1, 1, 1, 1]
>>> propagar([ 0, 0, 0, 1, 0, 0])
[ 1, 1, 1, 1, 1, 1]

Bibliografía:

• Bahit, E. (2012). ”Curso Python para principiantes.” Buenos Aires: www.eugeniabahit.com


• Downey, A., Elkner, J., Meyers, (2002) “Aprenda a Pensar Como un Programador”. Recuperado desde:
https://argentinaenpython.com/quiero-aprender-python/aprenda-a-pensar-como-un-programador-
conpython.pdf
Profesora: Mariángeles Glavina

• González Duque, R. (2016). “Python para todos” . Recuperado de: www.mundogeek.net


• Grimson, R. y otros (2020) “Curso de programación en Python” UNSAM, Buenos Aires, Recuperado de
https://github.com/python-
unsam/Programacion_en_Python_UNSAM/blob/master/Notas/04_Listas_y_Listas/02_IteradoresLista.md
• Sánchez Alberca, A. (2020). “Ejercicios de Python”. Recuperado desde:
http://aprendeconalf.es/python/ejercicios/
• Sintes Marco, B. (2020). “Introducción a la programación con Python - www.mclibre.org” Recuperado desde:
https://www.mclibre.org/consultar/python/

También podría gustarte