Что самый короткий путь состоит в том, чтобы считать количеством объектов в генераторе/итераторе?

Если бы я хочу количество объектов в повторяемом, не заботясь о самих элементах, каков был бы pythonic способ получить это? Прямо сейчас я определил бы

def ilen(it):
    return sum(itertools.imap(lambda _: 1, it))    # or just map in Python 3

но я понимаю lambda близко к тому, чтобы быть считаемым вредным, и lambda _: 1 конечно, не симпатично.

(Вариант использования этого считает количество строк в текстовом файле, соответствующем regex, т.е. grep -c.)

59
задан 22 March 2011 в 01:35

1 ответ

Они были бы моим выбором или один или другой:

print(len([*gen]))
print(len(list(gen)))
0
ответ дан 1 November 2019 в 11:14

Другие вопросы по тегам:

Похожие вопросы: