[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