Курс 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"

  1. Декораторы в Python
  2. Сравнение def и lambda функций в Python
  3. Перетасовка списков в Python
  4. Создание новых списков в Python
  5. Сокращение ссылок с pyshorteners
  6. Операции с комплексными числами
  7. Получение частей дроби
  8. Слияние словарей в Python 3.9
  9. Переворот последовательности
  10. TON Smart Challenge #2: участие и подготовка
  11. Операции со строками в Python
  12. Исключение NotImplementedError
  13. Замена символов в строке
  14. Метод ipow для возведения в степень
  15. Тестирование времени с Freezegun
  16. F-строки в Python 3.8
  17. Python: отличительная особенность — отступы
  18. Работа с контекстными менеджерами
  19. Многострочные комментарии в Python
  20. Оператор * в Python
  21. Итерации в Python
  22. Вывод с переменной через запятую
  23. Хранение переменных в Python.
  24. Замена текста с re.sub()
  25. Форматирование строк в Python
  26. Метод __ixor__ для побитового исключающего ИЛИ
  27. Метод Event.wait() в Python
  28. Структуры данных в Python
  29. Работа с кортежами в Python
  30. Переопределение метода __floordiv__
  31. Вызов внешних программ в Python с помощью sh
  32. Создание обратного итератора
  33. Работа с файлами в Python
  34. Многопоточность и асинхронное программирование в Python
  35. Сравнение неупорядоченных списков
  36. Модуль antigravity: генерация координат
  37. Функции с необязательными аргументами
  38. Официальный канал Python в Telegram
  39. Цикл for в Python
  40. Преобразование данных в Python
  41. Объединение списков в Python
  42. Установка библиотек в Python
  43. Аннотации типов в Python

Marketello читают маркетологи из крутых компаний