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