Verfasst: Donnerstag 29. Januar 2009, 19:28
Oh, was sind denn das fuer schwerwiegende Nachteile?
Vielleicht sollte man dann auch mal piddons "netiquette" updaten.
Vielleicht sollte man dann auch mal piddons "netiquette" updaten.
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Kurz gefasst: Das die Lösung nicht immer optimal sein muss und so Leute die eine viel bessere Lösung wüssten ggf. gar nicht rein schauen. Und gelöste Threads anschauen hat noch niemanden geschadet, dabei kann man eigentlich nur lernen.hendrikS hat geschrieben:Oh, was sind denn das fuer schwerwiegende Nachteile?
Ja, ich will das demnächst ins Wiki verschieben. Nicht dass das jemand liest aber immerhin kann ich dann besser darauf linken.hendrikS hat geschrieben:Vielleicht sollte man dann auch mal piddons "netiquette" updaten.
Code: Alles auswählen
>>> def f(ls):
... return reduce(lambda a, b: a + [b] if b not in a else a, ls, list())
...
>>> f([1, 1, 2, 1, 3, 4, 5, 6, 4, 5, 6, 9, 11, 9, 9, 12, 9, 14])
[1, 2, 3, 4, 5, 6, 9, 11, 12, 14]
Wobei das jetzt aber keine Lösung der ursprünglichen Problemstellung ist ..str1442 hat geschrieben:Um reduce() mal wieder benutzt zu sehenCode: Alles auswählen
>>> def f(ls): ... return reduce(lambda a, b: a + [b] if b not in a else a, ls, list()) ... >>> f([1, 1, 2, 1, 3, 4, 5, 6, 4, 5, 6, 9, 11, 9, 9, 12, 9, 14]) [1, 2, 3, 4, 5, 6, 9, 11, 12, 14]
Das is nich die Lösung von der Problemstellung ._. Er will die löschen, die doppelt vorhanden sind... Nochmal genau lesen.würmchen hat geschrieben:ich hab hierzu mal ein recht interessantes Benchmark gefunden...
http://www.peterbe.com/plog/uniqifiers-benchmark
unterscheidet auch die Geschwindigkeit, ob die Reihenfolge behalten soll usw...
Dir ist aber schon klar, dass die Effizienz der String-Konkatenation in CPython auf einem Implementierungsdetail beruht?Ich hab jüngst erst festgestellt, dass einer meiner algorithmen durchs (ineffiziente) stringaneinanderkleben gar nicht so sehr verlangsamt wurde wie durch meine Optimierungsansätze.