TGViewer
Python Portal Python Portal @pythonportal · 50.7K subscribers
Post #4412 13.7K
Функция consume() из itertools — это способ вычитать все элементы итератора, не сохраняя их.

Но способов реализовать это гораздо больше, и вот самые интересные

> Через for:

def consume(iterable):
for _ in iterable:
pass


> С builtins:

set(map(type, zip(iterable)))
min(map(bool, zip(iterable)))


> Через collections:


from collections import deque
deque(iterable, maxlen=0)


> Через itertools:

next(compress(iterable, repeat(False)), None)
next(dropwhile(id, iterable), None)
next(islice(iterable, sys.maxsize, None), None)

iterator = groupby(iterable, key=lambda x: None)
next(iterator, None)
next(iterator, None)


Все эти трюки делают одно — вычищают итератор. Полезно в бенчмарках, ленивых вычислениях

Кто знал хотя бы 3 из них? 🤔

👉 @PythonPortal
  • 👍 26
  • ❤ 7
More from @pythonportal
  1. Oct 15, 2026Теперь можно просто загрузить изображение и посмотреть, как нейросеть определяет, что на н…
  2. Oct 14, 2026Основатели ElevenLabs сейчас, должно быть, дрожат от страха… Эти ребята только что выпусти…
  3. Oct 14, 20265 архитектур RAG Большинство RAG-систем ломаются в одном и том же месте. Проблема не в мод…
  4. Oct 13, 2026Если ищете хороший видеокурс по 3D-математике для игр, в котором сочетаются теория и практ…
  5. Oct 13, 2026👁👁 Тестовый собес на Python с разработчиком из Яндекса [+ ответы на 50 сложных вопросов…
  6. Oct 13, 2026NVIDIA действительно устранила одно из главных ограничений голосового ИИ. Компания открыла…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →