Todas las semanas escogemos un proyecto de la vida real para que construyas tu portafolio y te prepares para conseguir un trabajo. Todos nuestros proyectos están construidos con ChatGPT como co-pilot!
Únete al retoUn podcast de cultura tecnológica donde aprenderás a luchar contra los enemigos que te bloquean en tu camino para convertirte en un profesional exitoso en tecnología.
Escuchar el podcastList
Array
Loops
Python
Dominar el uso de listas y bucles es una de las 5 habilidades fundamentales para construir algoritmos:
Arrays (Arreglos)
.Loops (Bucles)
.Una lista es, normalmente, cualquier colección de valores. Las reglas de cómo agregar o eliminar elementos de esa lista pueden cambiar de un lenguaje de programación a otro. Pero - en general - son la única forma en que los desarrolladores pueden crear elementos. Las listas no son la única forma que tenemos para enumerar las cosas y almacenar múltiples valores de una sola vez, pero es la más usada para ese propósito. Por ejemplo: lista de estudiantes, lista de artistas, lista de transacciones... ¡cualquier cosa!
Este tipo de datos hace muchas más cosas que los otros. Las listas son la única forma de almacenar más de un tipo de datos en la misma variable.
Cada lista tiene los mismos conceptos básicos:
Los items: Son los valores reales dentro de cada posición de la lista.
La length: es el tamaño de la lista (cuántos items tiene la lista).
El index: es la posición del elemento.
☝ Las posiciones comienzan en cero (0); el primer elemento es el elemento en la posición cero (0)
Utilizando corchetes de la siguiente manera:
1my_empty_list = [] # Lista vacia 2my_list = ["Apple", "Orange", "Donkey"] # La única forma de declarar una lista 3my_tuple = ("Apple", "Orange", "Donkey") # Esto no es una lista, es una versión más limitada llamada "Tupla" 4my_set = {"Apple", "Orange", "Donkey"} # Esto no es una lista, es una versión más limitada llamada "set" (conjunto).
Para acceder a un elemento específico en una lista, necesitas un index
o índice. Un índice es un valor entero que representa la posición del arreglo a la que desea acceder/obtener/recuperar.
El índice siempre debe comenzar en cero (0). Eso significa que una lista de 2 elementos puede tener un index=0
o un index=1
. Tratar de obtener la segunda posición devolverá un IndexError
porque significará que estamos tratando de acceder al tercer elemento (que no existe). Por ejemplo, para obtener cualquier elemento de la lista puedes hacer lo siguiente:
1print(my_list[0]) # Esto imprimirá el 1er elemento en la consola 2 3aux = my_list[5] 4print(aux) # Esto imprimirá el 6to elemento en la consola 5 6print(my_list[len(my_list) - 1]) # Esto imprimirá el último elemento en la consola 7print(my_list[-1]) # Tambien imprimirá el último elemento
Si lo deseas, puedes restablecer o actualizar cualquier elemento dentro de un arreglo usando el índice como este:
1my_list[5] = 'Cualquier valor' 2# Esto asignará el valor 'Cualquier valor' en el sexto elemento de la lista
Hay dos formas de agregar un nuevo elemento: al final de la lista o donde tú quieras, y necesitamos usar las funciones append
e insert
respectivamente para eso.
append
en las listas de Python1my_list = ['Pedro', 'Juan', 'Maria'] 2my_list.append('Chris') # Esto agrega a Chris al final de la lista 3print(my_list) # Esto imprimirá ['Pedro', 'Juan', 'Maria', 'Chris']
insert
en PythonLa ventaja de utilizar insert
es que te permite seleccionar la posición donde deseas insertar el elemento en el array:
1my_list = ['Pedro', 'Juan', 'Maria'] 2my_list.insert(1,'Chris') # Esto agrega a Chris entre Pedro y Juan 3print(my_list) # Esto imprimirá ['Pedro', 'Chris', 'Juan', 'Maria']; 4
☝ La función
insert
es mucho más lenta queappend
, deberías tratar de evitarla.
A diferencia de otros lenguajes como JavaScript, Python cuenta con varias funciones para remover elementos de una lista: pop, remove, delete.
pop
Eliminar un elemento utilizando pop
tiene exactamente las mismas limitaciones que al agregar un elemento utilizando append
: solo permite eliminar un elemento de la última posición de la lista.
1my_list = ['Pedro', 'Chris', 'Juan', 'Maria'] 2my_list.pop() 3print(my_list) # Esto imprimirá ['Pedro', 'Chris', 'Juan']
remove
Te permitirá eliminar la primera ocurrencia de un elemento por su nombre.
1# Si deseas eliminar 'Chris', necesitas hacer lo siguiente: 2my_list = ['Pedro', 'Chris', 'Juan', 'Maria'] 3my_list.remove('Chris') 4print(my_list) # Esto imprimirá ['Pedro', 'Juan', 'Maria'] 5
delete
Una de las funcionalidades más útiles de del
es que puedes eliminar muchos elementos de una sola vez. Debes especificar la posición de partida y de término.
1# Si deseas eliminar 'Chris', necesitas hacer lo siguiente: 2my_list = ['Pedro', 'Chris', 'Juan', 'Maria', 'Pepe', 'Mario', 'Bob'] 3del my_list[2:5] 4print(my_list) # Esto imprimirá ['Pedro', 'Chris', 'Mario', 'Bob']
Normalmente, cuando trabajes con listas, tendrás que recorrer todos los items. Por ejemplo para: ordenarlos manualmente, cambiarlos de lugar, filtrarlos, etc.
Hay varias formas de recorrer una lista, pero la más utilizada es la función for
:
1my_list = [3423, 5, 4, 47889, 654, 8, 867543, 23, 48, 56432, 55, 23, 25, 12] 2for number in my_list: 3 print(number)
A veces es útil recorrer una lista utilizando la posición:
1my_list = ['Pedro', 'Chris', 'Mario', 'Bob'] 2 3for i in range(0, len(my_list)): 4 print("La posición es " + str(i) + " para el elemento " + my_list[i]) 5 6### Imprimirá lo siquiente: 7# La posición es 0 para el elemento Pedro 8# La posición es 1 para el elemento Chris 9# La posición es 2 para el elemento Mario 10# La posición es 3 para el elemento Bob
También es posible especificar la posición inicial, así como el incremento, ingresando la posición inicial (en el primer parámetro) y el valor incremental (en el último parámetro) en el método range
:
1my_list = ['Pedro', 'Chris', 'Mario', 'Bob', "Greg", "Kyle"] 2 3for i in range(1, 6, 2): # range(valor inicial, valor final (no inclusivo), valor incremental) 4 print("La posición es " + str(i) + " para el elemento " + my_list[i]) 5 6### Imprimirá lo siquiente: 7# La posición es 1 para el elemento Chris 8# La posición es 3 para el elemento Bob 9# La posición es 5 para el elemento Kyle