Hallo alle zusammen,
ich habe folgende Liste:
liste0 = [1,1,1,2,2,2,3,3,3,4,4,7,7]
Aus dieser Liste möchte ich Elemente so rausstreichen, dass bei dreifach vorkommenden Elementen eins von diesen Elementen rausgestrichen wird.
Die Liste würde dann wie folgt aussehen:
liste0 = [1, 1, 2, 2, 3, 3, 4, 4, 7, 7]
Durch Suchen und ausprobieren habe ich mir folgenden Code zusammengesetzt:
Der Code macht am Ende genau das was ich möchte, aber mir ist nicht im Detail klar was passiert.
Ich verstehe den Code bisher so:
In Zeile 5 wird die Länge der Liste geprüft. Ist diese größer als i, wird der dadrunter
folgende Code ausgeführt.
In Zeile 6 werden die einzelnen Elemente gezählt. Sollte ein Element dreifach vorkommen,
wird dieses Element mit Zeile 7 gestrichen.
Allerdings ist mir die Aufgabe von Zeile 8 nicht ganz klar und
Frage:
Ist es richtig das mit
das erste Element in einer Reihe gestrichen wird also z.B. bei 1,1,1 die erste 1?
Vllt kann mir jemand erläutern, was genau im oben gezeigten Code passiert. Würde das gerne
verstehen....
Danke schon mal im voraus.
Edit:
Gerade festgestellt, dass die Sache doch nicht so funktioniert wie gedacht,
weil wenn die Liste wie folgt aussieht:
liste0 = [1,1,1,2,2,2,2,3,3,3,4,4,7,7]
dann bleiben die 4x 2 so stehen, also er streicht nichts raus.
Hab schon eine Ahnung woran das liegen könnte (siehe Zeile 6)....:/
ich habe folgende Liste:
liste0 = [1,1,1,2,2,2,3,3,3,4,4,7,7]
Aus dieser Liste möchte ich Elemente so rausstreichen, dass bei dreifach vorkommenden Elementen eins von diesen Elementen rausgestrichen wird.
Die Liste würde dann wie folgt aussehen:
liste0 = [1, 1, 2, 2, 3, 3, 4, 4, 7, 7]
Durch Suchen und ausprobieren habe ich mir folgenden Code zusammengesetzt:
Code:
1. liste0 = [1,1,1,2,2,2,3,3,3,4,4,7,7] 2. i = 0 3. 4. print(liste0) 5. while i < len(liste0): 6. if liste0.count(liste0[i])==3: 7. liste0.remove(liste0[i]) 8. i+=1 9. print(liste0)
Ich verstehe den Code bisher so:
In Zeile 5 wird die Länge der Liste geprüft. Ist diese größer als i, wird der dadrunter
folgende Code ausgeführt.
In Zeile 6 werden die einzelnen Elemente gezählt. Sollte ein Element dreifach vorkommen,
wird dieses Element mit Zeile 7 gestrichen.
Allerdings ist mir die Aufgabe von Zeile 8 nicht ganz klar und
Frage:
Ist es richtig das mit
Code:
remove()
Vllt kann mir jemand erläutern, was genau im oben gezeigten Code passiert. Würde das gerne
verstehen....
Danke schon mal im voraus.
Edit:
Gerade festgestellt, dass die Sache doch nicht so funktioniert wie gedacht,
weil wenn die Liste wie folgt aussieht:
liste0 = [1,1,1,2,2,2,2,3,3,3,4,4,7,7]
dann bleiben die 4x 2 so stehen, also er streicht nichts raus.
Hab schon eine Ahnung woran das liegen könnte (siehe Zeile 6)....:/
Comment