[PYTHON] Filter gegen Einschlussnotation

Was ist schneller, "Filter" oder Einschlussnotation?

Was ist schneller, wenn die Bedingung durch die Einschlussnotation gegeben ist oder wenn die Bedingung mit "Lambda" an "Filter" übergeben wird?

iter = 10000

#Einschlussnotation
for _ in tqdm(range(iter)):
    [i for i in range(iter) if i % 2 == 0]

#Nur filtern
for _ in tqdm(range(iter)):
    filter(lambda i: i % 2 == 0, range(iter))

#Vom Filter in die Liste umwandeln
for _ in tqdm(range(iter)):
    list(filter(lambda i: i % 2 == 0, range(iter)))

Ich habe jeden verglichen.

Bedingungen iter/s
Einschlussnotation 1531.51
filternur 1169176.56
filtervonlistBesetzung zu 880.30

~~ filter war der überwältigende Sieg. ~~ ~~ Wenn es jedoch notwendig ist, es in der nachfolgenden Verarbeitung als "Liste" zu erstellen, scheint die Einschlussnotation besser zu sein. ~~

Und es ist natürlich, dass "Filter" im Vergleich wie oben überwältigend gewinnt. https://qiita.com/licht-e-jima/items/0ef1e630c9afb771c040#comment-0882f662a1eb61d3e602 Korrekt. Danke für deinen Rat.

Recommended Posts

Filter gegen Einschlussnotation
Python-Einschlussnotation
Einschlussnotation
Python-Einschlussnotation
Legen Sie die Einschlussnotation fest
Listeneinschlussnotation
Einschlussnotation