HOWTO · Python
Cómo reemplazar un elemento en la lista de Python
En la lista de Python, los elementos son reemplazados por otros números de diferentes maneras. Utilizamos métodos como la indexación de listas, para el bucle, la comprensión de listas y la función de mapa para este propósito.
Podríamos reemplazar elementos en una lista de Python de varias maneras. Podemos usar la indexación de elementos de la lista Python, el bucle for, la función map y los métodos de comprensión de la lista.
Este artículo tratará sobre los métodos anteriores para encontrar y reemplazar los elementos de la lista en Python.
Encontrar y reemplazar los elementos de lista en Python con el método de indexación de listas
Tomemos la siguiente lista como ejemplo.
my_list = [5, 10, 7, 5, 6, 8, 5, 15]
Cambiaremos el elemento en el índice 0 de 5 a 20.
El código de ejemplo es el siguiente.
my_list = [5, 10, 7, 5, 6, 8, 5, 15]
my_list[0] = 20
print(my_list)
Resultado:
[20, 10, 7, 5, 6, 8, 5, 15]
Buscar y reemplazar los elementos de la lista Python con el método del bucle for
Usamos la función enumerate() en este método. Devuelve un objeto enumerate que también contiene el contador junto con los elementos. Cuando combinamos la función enumerate() con el bucle for, itera el objeto enumerate y reúne el índice y el elemento.
El código es:
my_list = [5, 10, 7, 5, 6, 8, 5, 15]
for index, value in enumerate(my_list):
if value == 5:
my_list[index] = 9
print(my_list)
Resultado:
[9, 10, 7, 9, 6, 8, 9, 15]
Encontrar y reemplazar los elementos de la lista Python con el método de comprensión de la lista
En este método, podemos generar una nueva lista aplicando condiciones predefinidas en la lista anterior.
La sintaxis es:
my_list = [5, 10, 7, 5, 6, 8, 5, 15]
[9 if value == 5 else value for value in my_list]
print(my_list)
Resultado:
[9, 10, 7, 9, 6, 8, 9, 15]
Buscar y reemplazar los elementos de la lista de Python con el método map
Este método cambia las entradas de la segunda lista con el índice de los elementos de la primera lista.
El código es:
list_1 = [5, 10, 7]
list_2 = [7, 10, 7, 5, 7, 5, 10]
ent = {k: i for i, k in enumerate(list_1)}
result = list(map(ent.get, list_2))
print("list2 after replacement is:", result)
Resultado:
list2 after replacement is: [2, 1, 2, 0, 2, 0, 1]
Observaciones
- El método de indexación de listas es bueno cuando reemplazamos un elemento de una lista.
- El método de comprensión de la lista es la elección correcta cuando reemplazamos varios elementos de una lista en base a criterios selectivos.
- Se desaconsejan los métodos de bucle, ya que requieren más tiempo de ejecución y memoria.