Какие из них лучше всего использовать в каких ситуациях? Я имею в виду объект, созданный с помощью map()
, выражений генератора и функций генератора.
Вот код, который я использовал для просмотра этих объектов.
str_ints = (str(x)for x in range(3))
f = len
map_obj = map(f, str_ints)
gen_obj_from_gen_expression = (f(e) for e in str_ints)
def gen_f():
for e in str_ints:
yield f(e)
gen_obj_from_function = gen_f()
for obj in (map_obj, gen_obj_from_gen_expression, gen_obj_from_function):
print(f'object: {obj}\ntype: {type(obj)}\n')
output:
object: <map object at 0x7f425c0f3f98>
type: <class 'map'>
object: <generator object <genexpr> at 0x7f425c1573b8>
type: <class 'generator'>
object: <generator object gen_f at 0x7f425c157570>
type: <class 'generator'>