Если бы я хочу количество объектов в повторяемом, не заботясь о самих элементах, каков был бы pythonic способ получить это? Прямо сейчас я определил бы
def ilen(it):
return sum(itertools.imap(lambda _: 1, it)) # or just map in Python 3
но я понимаю lambda
близко к тому, чтобы быть считаемым вредным, и lambda _: 1
конечно, не симпатично.
(Вариант использования этого считает количество строк в текстовом файле, соответствующем regex, т.е. grep -c
.)
Они были бы моим выбором или один или другой:
print(len([*gen]))
print(len(list(gen)))