Dlaczego funkcja len(...) nie działa bezpośrednio na generator, podczas gdy max(...), sum(...) i sorted(...) już tak?
#python
#python
@morsik: To by miało sens, gdyby wszystkie z podanych przeze mnie funkcji tak działały. Ale tylko len(...) jest tak "zabezpieczona", bo np. sorted(...) akceptuje generator i nie boi się, że mógłby być nieskończony.
@przekliniak: Żeby policzyć elementy z generatora wystarczy zrobić len(list(generator)). Po prostu zastanawiam się, czemu ta funkcja działa inaczej niż pozostałe.
@luzny_lori: Oj nie zgodzę się, bo pomieszałeś.
Albo:
czy możesz dodawać kolejne liczby
czy możesz zliczać kolejne elementy
albo:
czy możesz podać sumę liczb
czy możesz podać długość struktury
Albo:
czy możesz dodawać kolejne liczby
czy możesz zliczać kolejne elementy
albo:
czy możesz podać sumę liczb
czy możesz podać długość struktury
@morsik: Dzięki za link. Na SO też w komentarzach wskazują na tę samą niekonsekwencję. Skoro można zsumować wszystkie elementy generatora, to czemu nie można ich policzyć. Tłumaczenie, że len nie działa na generator, bo nie jest zaimplementowana, jest takim trochę argumentem typu "obiadu nie ma, bo nikt go nie ugotował". Mnie chodziło raczej o decyzję deweloperów pythona, dlaczego tego nie zrobili.
#przegryw #tfwnogf
@ZaQ_1: nie liczy się kasa, liczy się paszport z UE