KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I need to filter a large lists several times, but I'm concerned with both simplicity of code and execution efficiency. To give an example: all_things # huge collection of all things # inefficient but clean code def get_clothes(): return filter(lambda t: t.garment, allThings) def get_hats(): return filter(lambda t: t.headgear, get_clothes()) I'm concerned that I'm iterating over the clothes list when in fact it has already been iterated over. I also want to keep the two filter operations separate, as they belong to two different classes, and I do not want to duplicate the first lambda function in the hats class. # efficient but duplication of code def get_clothes(): return filter(lambda t: t.garment, allThings) def get_hats(): return filter(lambda t: t.headgear and t.garment, allThings) I have been investigating generator functions, as they seemed like the way to go, but I haven't as yet figure out how.
Tags (comma-separated)
Save Edits
Cancel