Курс 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. Метод pos в Python
  2. Оценка точности модели
  3. Разделение строки в Python
  4. Создание коллекций из выражения-генератора
  5. Контроль точности вывода чисел
  6. Получение имени функции с помощью inspect
  7. Оператор «моржа» (Walrus Operator)
  8. Метод init в Python
  9. Атрибуты класса и экземпляра в Python
  10. Генераторные функции в Python
  11. Асинхронное выполнение задач в Python
  12. Умножение строк и списков
  13. Сравнение объектов в Python
  14. Работа со строками в Python
  15. Поиск индекса элемента в списке
  16. Шаблоны Flask: условия и циклы
  17. Создание веб-приложения с Flask
  18. Распаковка с оператором *
  19. Список импортированных модулей в Python
  20. Управление контекстом выполнения
  21. Любовь к Python
  22. Подсчет количества элементов в списке
  23. Управление сессиями в Python
  24. Библиотека sh: использование команд bash в Python
  25. Возврат нескольких значений из функции
  26. JSON в Python: модуль, dump, dumps, load
  27. Импорт модулей в Python 3.12
  28. Работа со случайными элементами
  29. Оператор «is not» в Python
  30. Получение атрибутов и методов класса
  31. Разделение строки с помощью re.split()
  32. Оператор += для объединения строк
  33. Метод сравнения объектов в Python
  34. Модуль antigravity: генерация координат
  35. Оператор walrus в Python
  36. Возврат нескольких значений из функции
  37. Работа с множествами в Python
  38. Получение срезов итераторов
  39. Создание словаря с значением по умолчанию
  40. Применение функции map() с лямбда-функциями
  41. Генераторы словарей и множеств
  42. Расчет времени выполнения кода
  43. OrderedDict — упорядоченный словарь
  44. Печать списка с помощью метода join
  45. Активация Matplotlib в Jupyter

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