Курс 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"
- F-строки в Python 3.8
- Генераторы в Python
- JSON в Python: модуль, dump, dumps, load
- Приближение чисел в Python
- Генераторные функции в Python
- Управление асинхронными задачами с помощью Semaphore
- Модуль functools в Python
- Python: Splat-оператор и splatty-splat
- Управление ресурсами с контекстными менеджерами
- Аннотации типов в Python
- Работа с collections в Python
- Хранение данных
- Переворот строки с помощью срезов
- Преобразование чисел в восьмеричную строку
- Установка максимального количества цифр
- Поиск кода
- Установка random seed в Python
- Отношения подклассов в Python
- Явный импорт переменных
- Добавление элементов в список: append() vs extend()
- Срезы в Python
- Операция += для списков
- Декораторы в Python
- Метод __getitem__ в Python
- Обработка исключений в Python
- Форматирование данных с pprint
- Обработка ошибок в JSON данных
- Управление памятью в Python
- Progress с библиотекой tqdm
- Форматирование строк в Python
- Установка и использование pyshorteners
- Декоратор защиты анонимных пользователей
- Работа с изображениями PIL
- Преобразование списка в словарь через генератор
- Множественное присваивание в Python
- Сортировка HTML-элементов
- Python: библиотеки и функции
- Удаление первого элемента списка
- Замена текста с re.sub()
- Python: изменяемые и неизменяемые коллекции
- Именование переменных в Python
- Форматирование чисел в Python
- Выбор редактора кода.
- Форматирование строк в Python















