Курс 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"
- Склеивание строк через метод join()
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Измерение времени выполнения кода с помощью time
- Моржовый оператор в Python 3.8
- Получение комбинаций в Python
- Разность множеств
- Копирование списков в Python
- Выход из профиля в Django
- Функция с **kwargs в Python
- Форматирование строк в Python
- GitHub в Telegram: подписка на уведомления
- Работа с модулем glob в Python
- Создание тестовых данных с Faker
- Метод join() для объединения элементов строки
- Работа с словарями в Python
- Преобразование символов в нижний регистр
- Транспонирование 2D-массива с помощью zip
- Вывод баннеров
- Цикл for с enumerate() в Python
- Получение текущего времени в Python
- Метод ior для битовых операций
- Делегирование в Python
- Вычисление времени выполнения
- Управление доступом к модулю
- Управление асинхронными задачами на Python.
- Генераторы списков в Python
- Преобразование строки в число
- Выключение компьютера с помощью Python
- Вычисление натуральных логарифмов в NumPy
- Применение команды break
- Преобразование многоуровневого словаря
- Оператор обр. импликации
- Удаление файлов в Python
- Метод enumerate() в Python
- Логирование с Loguru
- Поиск индексов подстроки
- Установка и использование emoji
- Регулярные выражения в Python
- Визуализация пропусков данных
- Метод get для словарей
- Удаление символов новой строки в Python.
- Простой калькулятор Python
- Пустой оператор pass в Python
- Использование type hints
- Операторы объединения в Python 3.9
- Печать календаря в Python















