[Python-de] Aus'ner Liste jeden Wert einmal rausfischen....
Gerhard Häring
haering_python at gmx.de
Thu Sep 12 00:07:15 EDT 2002
* Thomas Fanslau <tfanslau at gmx.de> [2002-09-11 22:25 +0200]:
> Ich bin heute über folgenden Code-Schnipsel gestolpert, der eine Liste
> ähnlich wie bei 'uniq' unter *IX eindampft.
>
> uniqValues = reduce(lambda a,b : a.setdefault(b, a), values, {}).keys()
Hab ich glaube ich auch schon mal verwendet, wenn's die Version aus dem
Cookbook ist.
> Kann man das wirklich so machen? Eigentlich habe ich da ein komisches
> Gefühl dabei, weil ja jeder Node im Dictionary mit dem Dictionary
> selber verknüpft wird. Aber die Performance is richtig gut....
Kann sein, dass ich jetzt auf dem Schlauch stehe, aber was spricht
gegen:
def mkunique(values):
uniq = {}
for item in values:
uniq[item] = 1
return uniq.keys()
? Die Performance scheint noch ein Stück besser zu sein.
-- Gerhard
More information about the Python-de
mailing list