Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Filter Function in Use | Функції вищого порядку та lambda
Концепції функціонального програмування в Python
Секція 2. Розділ 3
single

single

bookFilter Function in Use

Свайпніть щоб показати меню

Ви вже бачили, як функції вищого порядку, такі як map, дозволяють застосовувати функцію до кожного елемента послідовності. Ще однією важливою функцією вищого порядку в Python є filter.

Функція filter використовується для вибору елементів із послідовності на основі того, чи задовольняють вони певну умову. Вона приймає два аргументи: функцію, яка повертає True або False для кожного елемента, і послідовність для фільтрації. Результатом є ітератор, що містить лише ті елементи, для яких функція повертає True. Це робить filter особливо корисною, коли потрібно отримати певні елементи зі списку, кортежу або іншого ітерованого об'єкта за певним критерієм, наприклад, парні числа, додатні значення або рядки певної довжини.

123456
def is_even(n): return n % 2 == 0 numbers = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(is_even, numbers)) print(even_numbers)
copy

Цей код використовує функцію filter() для створення нового списку, що містить лише парні цілі числа з наявної колекції. Це реалізується шляхом визначення предикатної функції is_even(n). Функція filter проходить по списку numbers, застосовуючи цю перевірку до кожного елемента та відкидаючи ті, що не відповідають умові. Нарешті, отриманий об'єкт filter перетворюється назад у список, що й дає результат.

Note
Примітка

Коли ви використовуєте функцію filter, вона повертає filter object — це ітератор, а не список. Якщо ви виведете результат filter безпосередньо, побачите подібний вивід:

<filter object at 0xfffec885eb30>

Щоб отримати відфільтровані значення у вигляді списку, потрібно перетворити filter object за допомогою list().

Завдання

Проведіть, щоб почати кодувати

Використання функції filter для вибору додатних чисел зі списку.

  • Функція is_positive повинна повертати True, якщо аргумент більше нуля, і False в іншому випадку.
  • Функція filter_positive повинна використовувати функцію filter разом із is_positive для створення нового списку, що містить лише додатні числа з вхідного списку.
  • Функція повинна повертати цей новий список.
  • Не забудьте видалити pass.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 3
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt