2011-08-03, 10:11
  #1
Medlem
Om jag har en lista t.ex: lista = [0,1,2,0,4,0] och jag vill kunna ta bort ALLA nollor i listan, hur gr jag?

Har frskt med:

Kod:
for x in lista:
    if x == 0:
        lista.remove(0)


Men d frsvinner inte alla nollor. Vad finns det fr andra stt?
Citera
2011-08-03, 10:47
  #2
Medlem
http://stackoverflow.com/questions/1...-a-python-list
Citera
2011-08-03, 10:56
  #3
Medlem
Citat:
Ursprungligen postat av elektrisk
Har frskt med:

Kod:
for x in lista:
    if x == 0:
        lista.remove(0)


Men d frsvinner inte alla nollor. Vad finns det fr andra stt?
Det dr skulle troligtvis fungera om du inte skriver lista.remove(0). Hr r den korreka lsningen:

Kod:
for x in lista:
    if x == 0:
        lista.remove(x)
Citera
2011-08-03, 12:05
  #4
Medlem
Citat:
Ursprungligen postat av Skrynklig
Det dr skulle troligtvis fungera om du inte skriver lista.remove(0). Hr r den korreka lsningen:

Kod:
for x in lista:
    if x == 0:
        lista.remove(x)

Hmm ok, men nu nr jag testade med lite andra vrden i listan fick jag igen inte bort alla nollor:


Kod:
lista = [0, 0, 2, 4, 0]

for x in lista:
    if x == 0:
        lista.remove(x)

print(lista)

D blir det [2,4,0]
Hur kommer det sig?
Citera
2011-08-03, 12:11
  #5
Medlem
Citat:
Ursprungligen postat av torst3n
http://stackoverflow.com/questions/1...-a-python-list

Denna funktion funkade riktigt bra. Jag som googlat som en galning! Tackar.
Citera
2011-08-03, 14:51
  #6
Medlem
Anvnd med frdel listcomps nr du filtrerar. Det r snabbare.

Kod:
lista = [c for c in lista if c != 0]
Citera
2011-08-28, 00:54
  #7
Medlem
Citat:
Ursprungligen postat av Skrynklig
Det dr skulle troligtvis fungera om du inte skriver lista.remove(0). Hr r den korreka lsningen:

Kod:
for x in lista:
    if x == 0:
        lista.remove(x)

Du tar bort element frn den lista du loopar ver.
Det kommer att bli ovntade resultat.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in