Hallo,
ich habe ein wirklich triviales Problemchen.
Ich habe eine Liste und will eine Elemente das mehrmals vorkommt löschen.
Die Funktion remove löscht aber nur immer das erste Element und eine for-Schleife über alle Elemente laufen zu lassen udn immer remove aufzurufen finde ich ist höchst ineffizient.
Gibt es keinen anderen Weg???
Danke
alle gleichen elemente aus liste löschen
super andreas,
vielen Dank!!!
Wie immer exzellent super schnelle und effiziente Hilfe in diesem Forum!!!
Danke
vielen Dank!!!
Wie immer exzellent super schnelle und effiziente Hilfe in diesem Forum!!!
Danke
ah,
hi nochmal ich,
leider doch nicht soooo ganz das was ich suche.
Wenn ich ne Liste habe
list = ["A","H","A","T","B","A"]
will ich nur alle A's löschen und die Sortierung soll erhalten bleiben also sollte rauskommen:
redlist = ["H","T","B"]
vielleicht kann mir einer helfen?
Dangöö
hi nochmal ich,
leider doch nicht soooo ganz das was ich suche.
Wenn ich ne Liste habe
list = ["A","H","A","T","B","A"]
will ich nur alle A's löschen und die Sortierung soll erhalten bleiben also sollte rauskommen:
redlist = ["H","T","B"]
vielleicht kann mir einer helfen?
Dangöö
Hi. Dann musst du eben zuerst feststellen, ob ein Element mehrfach auftaucht und es dann löschen. Das kann man machen, während man die Liste durchgeht und falls man ein doppetes findet es wieder rausnehmen:
Damit führe ich eine schwarze Liste, ob ein Element mehrfach vorkommt und gehe dementsprechd vor, wenn ich alle neuen Elemente zusammenstelle.
Code: Alles auswählen
def f(iterable):
erg=[]
mehrfach=[]
for el in iterable:
if el in mehrfach:
continue
elif el in erg:
erg.remove(el)
mehrfach.append(el)
continue
else:
erg.append(el)
return erg
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi,
oder falls die alte Liste erhalten bleiben soll:
Gruß
Dookie
Code: Alles auswählen
def remove_all(l, x):
while x in l:
l.remove(x)
Code: Alles auswählen
l = ["A","H","A","T","B","A"]
redlist = [for x in l if x != "A"]
Gruß
Dookie
[code]#!/usr/bin/env python
import this[/code]
import this[/code]