Русский
Открыть в Telegram

Пост Функция itertools.chain позволяет объединить несколько итерируемых объектов, чтобы работать с ними, как с единым целым:

28 июля 2026
Б
Библиотека Python разработчика | Книги по питону
Функция itertools.chain позволяет объединить несколько итерируемых объектов, чтобы работать с ними, как с единым целым: from itertools import chain print(list(chain(['a', 'b'], range(3), set('xyz')))) # Вывод: ['a', 'b', 0, 1, 2, 'x', 'z', 'y'] Иногда нужно проверить, пуст ли генератор (точнее, исчерпан ли он). Для этого можно попытаться получить следующий элемент с помощью next(). Если элемент есть, его нужно вернуть обратно в генератор, но сделать это напрямую невозможно. Однако можно «приклеить» его обратно с помощью chain: from itertools import chain def sum_of_odd(gen): try: first = next(gen) # Пытаемся получить первый элемент except StopIteration: raise ValueError('Empty generator') # Если генератор пуст, выбрасываем исключение # Используем chain для возврата первого элемента и объединения с остальными return sum( x for x in chain([first], gen) if x % 2 == 1 # Суммируем только нечетные числа ) Пример использования: print(sum_of_odd(x for x in range(1, 6))) # Вывод: 9 (1 + 3 + 5) print(sum_of_odd(x for x in range(2, 3))) # Вывод: 0 (нет нечетных чисел) print(sum_of_odd(x for x in range(2, 2))) # ValueError: Empty generator 📲 Мы в MAX 👉@BookPython
3 · 1.3K ·

Рядом в ленте

ББиблиотека Python разработчика | Книги по питону🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv BashББиблиотека Python разработчика | Книги по питонуМетод format в Python для строк — мощный инструмент, поддерживающий множество возможностей, о которых вы, возможно, даже не знали. Каждый заменяемый плейсхолдер
это сообщение
ББиблиотека Python разработчика | Книги по питонуВ Python блок else можно использовать не только после if, но и после циклов for и while. Код внутри else выполняется только в том случае, если цикл завершился еББиблиотека Python разработчика | Книги по питонуКогда вы создаете кастомный метод __repr__ для объекта, обычно нужно включить представление его атрибутов. Однако важно помнить, что нужно явно вызывать repr(),
ББиблиотека Python разработчика | Книги по питонуБиблиотека Python разработчика | Книги по питону@BookPython · канал · Технологии
17 954подписчиков552средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем