Seite 2 von 2

Verfasst: Samstag 13. Dezember 2008, 17:31
von BlackJack
@rudolfo.christ: Und ob das in linearer Zeit läuft. Der Test mit ``in`` ist ja nicht auf einer Liste, sondern auf einem `set`, welches als Hashtabelle implementiert ist, und damit läuft der Test auf "enthalten sein" in O(1) Zeit ab. Und die "list comprehension" läuft damit in linearer Zeit.

Was bei ``in``-Operator passiert hängt vom Objekt auf der rechten Seite ab, denn ``a in b`` ist letztendlich das gleiche wie ``b.__contains__(a)``, sofern der Typ von `b` die `__contains__()`-Methode implementiert.

Ich will nicht unverschämt sein, oder werden -- bin einfach nur ein wenig ungeduldig, wenn Du dauernd etwas falsches behauptest und so uneinsichtig bist. ;-)

Verfasst: Samstag 13. Dezember 2008, 18:18
von rudolfo.christ
@BlackJack

Okay. Wenn "set" als Hashtabelle implementiert ist, dann zeige ich mich einsichtig. Dises Information blieb mir bis jetzt vorenthalten. Dann hast du Recht und der Algorithmus läuft mit linearen Aufwand.

Dennoch ist das von mir oben geschilderte nicht gänzlich falsch. Gilt eben nur nicht für sets in Python.