Asked • 04/28/19

list comprehension vs. lambda + filter?

I happened to find myself having a basic filtering need: I have a list and I have to filter it by an attribute of the items.My code looked like this: my_list = [x for x in my_list if x.attribute == value]But then I thought, wouldn't it be better to write it like this? my_list = filter(lambda x: x.attribute == value, my_list)It's more readable, and if needed for performance the lambda could be taken out to gain something. Question is: are there any caveats in using the second way? Any performance difference? Am I missing the Pythonic Way™ entirely and should do it in yet another way (such as using itemgetter instead of the lambda)?

1 Expert Answer

By:

Reet C. answered • 05/03/19

Tutor
5 (10)

Computer Engineer With A Passion For Teaching!

Still looking for help? Get the right answer, fast.

Ask a question for free

Get a free answer to a quick problem.
Most questions answered within 4 hours.

OR

Find an Online Tutor Now

Choose an expert and meet online. No packages or subscriptions, pay only for the time you need.