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

single

bookОснови Функції Sorted

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

Сортування даних — це поширена операція під час роботи зі списками в Python. Функція sorted є вбудованою функцією вищого порядку, яка дозволяє сортувати будь-який ітерований об'єкт і повертає новий відсортований список, залишаючи вихідні дані без змін. Ви можете використовувати sorted як із власною логікою сортування, так і без неї. За замовчуванням sorted розташовує елементи у порядку зростання, але ви можете керувати порядком і критеріями сортування за допомогою додаткових параметрів.

Найважливіші параметри для sorted:

  • iterable: дані, які потрібно відсортувати;
  • key: необов'язкова функція, яка визначає значення для сортування кожного елемента;
  • reverse: логічне значення, яке, якщо встановлено у True, сортує дані у спадному порядку.

Припустимо, у вас є список чисел, і ви хочете відсортувати їх у порядку зростання. Ви можете просто викликати sorted(numbers). Якщо потрібно відсортувати числа у спадному порядку, можна передати reverse=True.

12345
numbers = [9, 5, 2, 1] # Sorting in reverse order sorted_desc = sorted(numbers, reverse=True) print(sorted_desc)
copy

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

12345
words = ["apple", "kiwi", "banana"] # Sorting by the length of each string sorted_words = sorted(words, key=len) print(sorted_words)
copy

До параметра key можна передати будь-яку функцію, включаючи лямбда-функцію або раніше визначену функцію. Це робить sorted функцією вищого порядку, оскільки вона приймає іншу функцію як аргумент. Сортування не обмежується лише числами чи рядками; можна сортувати складні об'єкти, якщо надати відповідну функцію key.

Note
Примітка

Оригінальний ітерований об'єкт не змінюється функцією sorted, вона завжди повертає новий список. Якщо потрібно відсортувати список на місці, використовуйте метод list.sort().

Завдання

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

Відсортувати список кортежів за другим елементом у кожному кортежі, використовуючи функцію sorted та іменовану функцію як параметр key.

  • Дано список з назвою pairs, який містить кортежі з двох цілих чисел.
  • Визначити функцію з назвою get_second_element, яка приймає кортеж і повертає його друге значення.
  • Використати функцію sorted і передати get_second_element як параметр key, щоб відсортувати pairs за другим значенням у кожному кортежі.
  • Зберегти результат у змінній з назвою sorted_pairs.
  • Не забудьте видалити pass.

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt