Курс Python → Фильтрация списков с itertools
Модуль itertools в Python предоставляет множество полезных функций для работы с итерируемыми объектами. Одной из таких функций является функция filterfalse, которая позволяет фильтровать элементы итерируемого объекта согласно заданному условию, без необходимости использования цикла.
Для примера, допустим у нас есть два списка — список leaders с именами лидеров и список selectors с их идентификаторами. Мы хотим отфильтровать список leaders таким образом, чтобы в нем остались только имена лидеров, у которых идентификатор равен единице.
import itertools
leaders = ['Alice', 'Bob', 'Charlie', 'David']
selectors = [0, 1, 1, 0]
filtered_leaders = list(itertools.compress(leaders, selectors))
print(filtered_leaders)
В данном примере мы использовали функцию compress из модуля itertools, которая фильтрует элементы списка leaders согласно значениям из списка selectors. Результатом выполнения данного кода будет список filtered_leaders, содержащий только имена лидеров, у которых идентификатор равен единице — [‘Bob’, ‘Charlie’].
Таким образом, использование модуля itertools позволяет нам легко и элегантно фильтровать списки без необходимости написания циклов. Это делает код более читаемым и компактным, что упрощает его поддержку и развитие.
Другие уроки курса "Python"
- Работа с датой и временем в Python
- Создание функций с произвольным количеством аргументов
- Добавление Progressbar в Python
- Работа с базами данных SQLite
- Передача аргументов через **arguments
- Оператор * в Python
- Деление в Python
- JMESPath в Python
- Python Calendar Usage
- Синтаксис переменных цикла в Python
- Создание OrderedDict
- Операторы увеличения и уменьшения переменной
- Отправка POST-запроса в REST API
- Область видимости переменных в Python
- Присвоение значений переменным в Python
- Создание списков в Python
- Значения по умолчанию в Python
- Область видимости переменных
- Порядок операций в Python
- Декораторы с аргументами в Python
- Извлечение новостей с помощью newspaper3k
- Списковые включения в Python
- Оператор Walrus в Python 3.8
- Перемешивание списка с shuffle()
- Оптимизация гиперпараметров с Scikit Optimize
- Разница между датами
- Секреты Python
- Создание класса в Python
- Структура строк в Python
- Поиск шаблона в строке
- Особенности множеств в Python
- Метод lt для сортировки объектов
- Копирование объектов в Python
- Декораторы в Python
- Подчеркивание в REPL
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Взаимодействие с внешними процессами в Python
- Оператор del в Python
- GitHub в Telegram: подписка на уведомления
- Блок else в обработке исключений
- Функции range() в Python
- Работа со словарями
- Подсчет элементов в списке с Counter
- Создание и удаление объектов















