[python-users] Schönes Muster
Klaus Blindert
klaus.blindert at web.de
Do Feb 18 10:53:17 CET 2010
Klaus Bremer schrieb:
> Dieses Konstrukt nutze ich auch gerne und habe mal eben einen quick & dirty Performance-Test gemacht: Test auf Element in Liste ist marginal schneller als Tuple. Schneller ist Test auf Element in bestehendem Set. Möglich, dass das Ergebnis bei Test auf Element in langen Listen bzw. großen Mengen anders aussieht.
>
> Gruß,
> Klaus
>
Ich hab's mal getested.
Code: http://dpaste.com/160955/
Ergebnis: http://dpaste.com/160957/
Das Ergebnis ist nicht sonderlich überraschend, vordefinierte sets
gewinnen um Längen
bei bei großen Datensätzen. Listen und Tuple tun sich nix und jedes mal
ein set zu erstellen ist
'ne schlechte Idee.
Tja, die involvierten Algorithmen dürften ja wohl klar sein :-)
Übrigens fand ich die Inversion im usrprünglichen Muster so bemerkenswert.
Anstelle von:
if wert in allowed_values: #etc
Das Gegenteil:
if disallowed in [value1, value2, ...]:#etc
Das ist ja insbesondere nützlich, wenn all(werte) nicht geht.
if not all(werte): # etc.
Gruße, Klaus B.
P.S. Ich hoffe ich poste endlich mal von der richtigen eMail Adresse ...
Mehr Informationen über die Mailingliste python-users