• Nevoic@lemm.ee
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    7 months ago

    Python’s disdain for the industry standard is wild. Every other language made in the last 20 years has proper filtering that doesn’t require collecting the results back into a list after filtering like Java (granted it’s even more verbose in Java but that’s a low bar).

    If Python had modern lambdas and filter was written in an inclusion or parametric polymorphic way, then you could write:

    new_results = results.filter(x -> x)
    

    Many languages have shorthands to refer to variables too, so it wouldn’t be impossible to see:

    new_results = results.filter(_)
    

    Of course in actual Python you’d instead see:

    new_results = list(filter(lambda x: x, results))
    

    which is arguably worse than

    new_results = [x for x in results if x]