len([ch for ch in ...]) создавал временный список. Заменено на sum(1 for ch in ...) — без выделения памяти под промежуточный список.
len([ch for ch in ...]) создавал временный список. Заменено на sum(1 for ch in ...) — без выделения памяти под промежуточный список.