Почему применение функции над map-объектом очищает его?
iterable = (0,1,2,3,4,)
map_obj = map(str, iterable)
print(list(map_obj))
# Вывод: ['0', '1', '2', '3', '4']
print(list(map_obj))
# Вывод: []
Такая же история и с объектом filter и с другими функциями Почему?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
map создаёт итератор, а по итератору можно пройтись только один раз. Чтобы пройтись по итератору ещё раз его надо создать заново. Вы проходитесь второй раз по итератору - и он не возвращает ничего.