Python - Bug con lista?

 
Vista:

Bug con lista?

Publicado por Jordi (1 intervención) el 15/04/2018 16:13:37
Tengo este programa:
1
2
3
4
5
6
a=["x","x","x","x",1,2]
for i in a:
    while "x" in a:
        a.remove("x")
    print(i)
print(a)
El resultado esperado supongo que sería:
x
1
2
Y no entiendo porque el resultado real es:
x
2
Está ignorando el 1. Lo único que se me ocurre es que python por dentro vea que ya ha tenido en i el indice 0 y pase automáticamente al 1 en vez de revalidar si el nuevo indice 0 es el mismo que al principio.
Alguna idea de como afrontar este problema?
Graciaaaas!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Bug con lista?

Publicado por xve (1646 intervenciones) el 15/04/2018 20:50:26
Si, es exacto lo que dices... la primera vez i vale x, pero como luego eliminas todas las x del array, en la siguiente iteración del bucle i vale 2 que seria el indice 1 del array.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar