Seite 2 von 2

Re: Schwierigkeit mit Problem

Verfasst: Mittwoch 19. Januar 2022, 17:41
von __blackjack__
Es ist ein Unterschied ob man ein Sprachkonstrukt falsch verwendet, oder ob es richtig verwendet wird, im Kontext aber etwas effizienteres möglich wäre. Wobei Effizienz ein komisches Argument ist wenn man das erstellen einer völlig sinnlosen Liste verteidigen möchte. Dann hättest Du mindestens mal so konsequent sein sollen eine „set comprehension“ zu verwenden, damit das einen konstanten Speicherverbrauch hat, die ganzen sinnfreien `None`-Werte zu sammeln. 😛 (Wäre auch noch näher an der Mathematik, denn die Zermelo-Fraenkel-Notation auf die die „comprehension“-Syntax anspielt, beschreibt ja im Original Mengen.)

Man könnte auch sagen die Liste hätte besser ein Generatorausdruck sein sollen, oder die Multiplikation der Zeichenkette hätte mit in der Liste oder dem Generatorausdruck stecken sollen. Das sind aber alles Fragen die nichts mit dem Punkt zu tun haben, dass eine „list comprehension“ dafür gedacht ist eine Liste zu erstellen und nicht dazu eine beliebige Schleife zu ersetzen bei der es nur im den Seiteneffekt und nicht um das sammeln von generierten Werten geht.

Re: Schwierigkeit mit Problem

Verfasst: Mittwoch 19. Januar 2022, 19:24
von rogerb
Netter Versuch __blackjack__ :wink: es ging jetzt aber um die Frage ob man vor dem Iterieren die zu iterierenden Elemente in einer Listcomprehension aufsammeln muss, oder ob es dazu Alterntiven gibt. Frage mich aber bitte nicht warum das überhaupt ein Thema ist.

Re: Schwierigkeit mit Problem

Verfasst: Mittwoch 19. Januar 2022, 20:10
von Sirius3
Ich wollte mit meinem Beispiel nur zeigen, wann eine Listcomprehension sinnvoll sein _kann_, und wann sie definitiv falsch ist.