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:
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]