Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Вбудовані Функції | Функція як Аргумент
Середній Рівень Python

bookВбудовані Функції

Ось ще два приклади, що демонструють використання lambda функцій з функціями filter() та sorted() у Python.

Крім того, ви можете передати більш складну користувацьку функцію замість лямбди до цих функцій високого порядку.

filter()

Функція filter() використовується для створення ітератора в якому відфільтровані всі елементи, що задовільняють умову функції. Тобто, lambda або користувацька функція повинна повернути True на прийнятий елемент масиву. Ось приклад використання filter() з лямбда-функцією для відфільтрації непарних чисел зі списку:

12345678
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)
copy

У цьому прикладі лямбда-функція lambda x: x % 2 == 0 перевіряє чи є число парним. Функція filter() застосовує цю лямбду до кожного елемента у списку чисел і повертає ітератор парних чисел.

sorted()

Функція sorted() повертає новий відсортований список з елементів будь-якого масиву.

sorted(iterable, key=key, reverse=reverse)
  • iterable - це послідовність для сортування (список, дикт, кортеж тощо);
  • key - це функція, яку потрібно виконати для визначення порядку;
  • reverse - булева функція. False - це порядок за зростанням, а True - за спаданням. За замовчуванням використовується значення False.

Ось приклад використання sorted() з лямбда-функцією для сортування списку кортежів на основі другого елемента в кожному кортежі:

123456
tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Використовуємо lambda функцію для сортування за другим елементом кожного кортежу sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
copy

У цьому прикладі лямбда-функція lambda x: x[1] повертає другий елемент кожного кортежу. Потім функція sorted() сортує кортежі списку на основі цих других елементів, в результаті чого список буде відсортовано по назвам фруктів за алфавітом.

Завдання

Swipe to start coding

Розглянемо список словників, що представляють книги, і ви хочете відфільтрувати книги, які мають певну кількість сторінок.

  1. Визначить список книг. Нехай books - це список словників. Кожен словник представляє книгу з двома ключами: 'title' та "pages ".
  2. Створення користувацької функції has_many_pages, яка приймає аргументи book та min_pages.
  3. Використання filter() з користувацькою функцією.
  4. Перетворення об'єкта filter у список, збереження його у змінній filtered_books_list і друк за допомогою print.

Рішення

Все було зрозуміло?

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you show more examples of using lambda functions with other built-in functions?

Can you explain the difference between lambda functions and regular functions in Python?

Can you provide an example of using a custom function instead of a lambda with filter() or sorted()?

close

bookВбудовані Функції

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

Ось ще два приклади, що демонструють використання lambda функцій з функціями filter() та sorted() у Python.

Крім того, ви можете передати більш складну користувацьку функцію замість лямбди до цих функцій високого порядку.

filter()

Функція filter() використовується для створення ітератора в якому відфільтровані всі елементи, що задовільняють умову функції. Тобто, lambda або користувацька функція повинна повернути True на прийнятий елемент масиву. Ось приклад використання filter() з лямбда-функцією для відфільтрації непарних чисел зі списку:

12345678
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)
copy

У цьому прикладі лямбда-функція lambda x: x % 2 == 0 перевіряє чи є число парним. Функція filter() застосовує цю лямбду до кожного елемента у списку чисел і повертає ітератор парних чисел.

sorted()

Функція sorted() повертає новий відсортований список з елементів будь-якого масиву.

sorted(iterable, key=key, reverse=reverse)
  • iterable - це послідовність для сортування (список, дикт, кортеж тощо);
  • key - це функція, яку потрібно виконати для визначення порядку;
  • reverse - булева функція. False - це порядок за зростанням, а True - за спаданням. За замовчуванням використовується значення False.

Ось приклад використання sorted() з лямбда-функцією для сортування списку кортежів на основі другого елемента в кожному кортежі:

123456
tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Використовуємо lambda функцію для сортування за другим елементом кожного кортежу sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
copy

У цьому прикладі лямбда-функція lambda x: x[1] повертає другий елемент кожного кортежу. Потім функція sorted() сортує кортежі списку на основі цих других елементів, в результаті чого список буде відсортовано по назвам фруктів за алфавітом.

Завдання

Swipe to start coding

Розглянемо список словників, що представляють книги, і ви хочете відфільтрувати книги, які мають певну кількість сторінок.

  1. Визначить список книг. Нехай books - це список словників. Кожен словник представляє книгу з двома ключами: 'title' та "pages ".
  2. Створення користувацької функції has_many_pages, яка приймає аргументи book та min_pages.
  3. Використання filter() з користувацькою функцією.
  4. Перетворення об'єкта filter у список, збереження його у змінній filtered_books_list і друк за допомогою print.

Рішення

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

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

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

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

single

some-alt