Зміст курсу
Середній Рівень Python: Аргументи, Генератори та Декоратори
Середній Рівень Python: Аргументи, Генератори та Декоратори
Вбудовані Функції
Ось ще два приклади, що демонструють використання lambda функцій з функціями filter()
та sorted()
у Python.
Крім того, ви можете передати більш складну користувацьку функцію замість лямбди до цих функцій високого порядку.
filter()
Функція filter()
використовується для створення ітератора в якому відфільтровані всі елементи, що задовільняють умову функції. Тобто, lambda або користувацька функція повинна повернути True на прийнятий елемент масиву. Ось приклад використання filter() з лямбда-функцією для відфільтрації непарних чисел зі списку:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Використання lambda функції для відфільтрування непарних чисел even_numbers = filter(lambda x: x % 2 == 0, numbers) # Конвертція об'єкту filter у список even_numbers_list = list(even_numbers) print(even_numbers_list)
У цьому прикладі лямбда-функція lambda x: x % 2 == 0
перевіряє чи є число парним. Функція filter()
застосовує цю лямбду до кожного елемента у списку чисел і повертає ітератор парних чисел.
sorted()
Функція sorted()
повертає новий відсортований список з елементів будь-якого масиву.
iterable
- це послідовність для сортування (список, дикт, кортеж тощо);key
- це функція, яку потрібно виконати для визначення порядку;reverse
- булева функція. False - це порядок за зростанням, а True - за спаданням. За замовчуванням використовується значення False.
Ось приклад використання sorted()
з лямбда-функцією для сортування списку кортежів на основі другого елемента в кожному кортежі:
tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Використовуємо lambda функцію для сортування за другим елементом кожного кортежу sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
У цьому прикладі лямбда-функція lambda x: x[1]
повертає другий елемент кожного кортежу. Потім функція sorted()
сортує кортежі списку на основі цих других елементів, в результаті чого список буде відсортовано по назвам фруктів за алфавітом.
Swipe to show code editor
Розглянемо список словників, що представляють книги, і ви хочете відфільтрувати книги, які мають певну кількість сторінок.
- Визначить список книг.
Нехай
books
- це список словників. Кожен словник представляє книгу з двома ключами: 'title' та "pages ". - Створення користувацької функції
has_many_pages
, яка приймає аргументиbook
таmin_pages
. - Використання
filter()
з користувацькою функцією. - Перетворення об'єкта filter у список, збереження його у змінній
filtered_books_list
і друк за допомогою print.
Дякуємо за ваш відгук!
Вбудовані Функції
Ось ще два приклади, що демонструють використання lambda функцій з функціями filter()
та sorted()
у Python.
Крім того, ви можете передати більш складну користувацьку функцію замість лямбди до цих функцій високого порядку.
filter()
Функція filter()
використовується для створення ітератора в якому відфільтровані всі елементи, що задовільняють умову функції. Тобто, lambda або користувацька функція повинна повернути True на прийнятий елемент масиву. Ось приклад використання filter() з лямбда-функцією для відфільтрації непарних чисел зі списку:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Використання lambda функції для відфільтрування непарних чисел even_numbers = filter(lambda x: x % 2 == 0, numbers) # Конвертція об'єкту filter у список even_numbers_list = list(even_numbers) print(even_numbers_list)
У цьому прикладі лямбда-функція lambda x: x % 2 == 0
перевіряє чи є число парним. Функція filter()
застосовує цю лямбду до кожного елемента у списку чисел і повертає ітератор парних чисел.
sorted()
Функція sorted()
повертає новий відсортований список з елементів будь-якого масиву.
iterable
- це послідовність для сортування (список, дикт, кортеж тощо);key
- це функція, яку потрібно виконати для визначення порядку;reverse
- булева функція. False - це порядок за зростанням, а True - за спаданням. За замовчуванням використовується значення False.
Ось приклад використання sorted()
з лямбда-функцією для сортування списку кортежів на основі другого елемента в кожному кортежі:
tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Використовуємо lambda функцію для сортування за другим елементом кожного кортежу sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
У цьому прикладі лямбда-функція lambda x: x[1]
повертає другий елемент кожного кортежу. Потім функція sorted()
сортує кортежі списку на основі цих других елементів, в результаті чого список буде відсортовано по назвам фруктів за алфавітом.
Swipe to show code editor
Розглянемо список словників, що представляють книги, і ви хочете відфільтрувати книги, які мають певну кількість сторінок.
- Визначить список книг.
Нехай
books
- це список словників. Кожен словник представляє книгу з двома ключами: 'title' та "pages ". - Створення користувацької функції
has_many_pages
, яка приймає аргументиbook
таmin_pages
. - Використання
filter()
з користувацькою функцією. - Перетворення об'єкта filter у список, збереження його у змінній
filtered_books_list
і друк за допомогою print.
Дякуємо за ваш відгук!