Problema recorriendo una lista con "for" y .remove()
Publicado por J (4 intervenciones) el 31/07/2020 23:03:18
Hola soy un poco novato aun y ando haciendo ejercicios para mejorar. Me encuentro haciendo un ejercicio y en uno de sus puntos me encuentro con el siguiente problema:
# De la lista debo eliminar los impares y lo he intentado hacer de la siguiente forma
El problema radica en que al eliminar el indice en el que el for esta trabajando en la siguiente iteración pasa al siguiente indice. Es decir si borrar 23 [2] pasa al siguiente elemento [3]. Pero tras borrar el indice [2] el valor del 5 pasa a ocupar su posición y se lo salta.
Me gustaría saber si se podría solucionar este problema de alguna forma, para que el for no se salte el elemento.
O la única solución radicaría en crear una lista nueva con los pares y reemplazar la lista de los pares por la original.
¡Gracias y un saludo!
1
lista = [14, 64, 23, 5, 29, 92, 12, 239, 4, 11, 32]
# De la lista debo eliminar los impares y lo he intentado hacer de la siguiente forma
1
2
3
4
for borrar in lista:
if borrar % 2 == 1:
lista.remove(borrar)
print(lista) # [14, 64, 5, 92, 12, 4, 32]
Me gustaría saber si se podría solucionar este problema de alguna forma, para que el for no se salte el elemento.
O la única solución radicaría en crear una lista nueva con los pares y reemplazar la lista de los pares por la original.
¡Gracias y un saludo!
Valora esta pregunta


2