@leham1

Как узнать длину итератора?

Чтобы узнать длину списка есть len(). Но len() не работает когда я из списка делаю итератор с помощью iter().
Можно ли как-нибудь узнать длину итератора? Если да, то как?
a = [1,2,3,4]
print(len(a))
a2 = iter(a)
print(len(a2))
  • Вопрос задан
  • 619 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Никак, итераторы неограничены.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
alfss
@alfss
https://career.habr.com/alfss
a = [1,2,3,4]
print(len(a))
a2 = iter(a)
print(len(list(a2)))


a = [1,2,3,4]
print(len(a))
a2 = iter(a)
print(sum(1 for _ in a2))
Ответ написан
Комментировать
MinTnt
@MinTnt
Максимум который возможен, это лишь превратить его в объект другого типа, который имеет возможность len().
print(len([*a2]))

Ну а так, у итераторов нету методов, для получения его длины.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы