functional-programming , :
from operator import itemgetter
map(do_something_with, map(itemgetter('attr'), some_list))
Python 3 map()uses an iterator, but Python 2 creates a list. For Python 2, use instead itertools.imap().
If you return some_list, you can simplify it using a generator expression and lazy evaluation:
def foo(some_list):
return (do_something_with(item.attr) for item in some_list)
source
share