Курс Python → Сортировка с помощью key

Функция sorted() в Python используется для сортировки элементов итерируемого объекта. По умолчанию она сортирует его по возрастанию, но можно указать параметр key, чтобы определить функцию сортировки.

Параметр key позволяет указать функцию, по которой будет производиться сортировка. Например, если у нас есть список словарей и мы хотим отсортировать его по значению определенного ключа, мы можем использовать key=lambda x: x['key'].

Если мы хотим отсортировать список объектов класса, то параметр key является обязательным. Без него будет вызвана ошибка TypeError. Например, если у нас есть класс с атрибутом name, то мы можем использовать key=lambda x: x.name.

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

people = [Person('Alice', 25), Person('Bob', 30), Person('Charlie', 20)]
sorted_people = sorted(people, key=lambda x: x.age)
print([person.name for person in sorted_people])  # ['Charlie', 'Alice', 'Bob']

В приведенном примере мы создаем список объектов класса Person, сортируем его по возрасту с помощью параметра key и выводим отсортированные имена.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Создание коллекций из выражения-генератора
  2. Подсчет часто встречающихся элементов
  3. Замеры производительности в Python
  4. Обратный список чисел
  5. Явный импорт в Python
  6. Список переменных с %who
  7. Генераторы в Python
  8. Метод rrshift для пользовательских объектов
  9. Python Метод Union Множеств
  10. Документирование функций в Python
  11. Создание файла с проверкой ошибки
  12. Работа с базами данных SQLite
  13. Конкатенация строк с методом join()
  14. Получение текущего времени в Python
  15. Динамическая типизация в Python
  16. Форматирование заголовков в Python
  17. Разность множеств
  18. Обработка исключения UnboundLocalError
  19. Определение основы слова с showballstemmer
  20. Преобразование строк в числа в Python
  21. Многопоточность и асинхронное программирование в Python
  22. Настройка нарезки списков
  23. Курс Data Scientist в медицине
  24. Магические методы в Python
  25. ROT13 Шифр Цезаря в Python
  26. Применение функции к списку
  27. Конвертация коллекций в Python
  28. Оптимизация поиска в словарях
  29. Python 3.12: переиспользование кавычек
  30. Многострочные комментарии в Python
  31. Удаление файлов с shutil.os.remove()
  32. Экспорт данных в файл.
  33. Объединение кортежей в Python
  34. Открытие, чтение и закрытие файла
  35. Распаковка элементов последовательности
  36. Создание генераторов
  37. Генератор списка с условием if
  38. Создание пар из последовательностей
  39. Регистрация на хакатоне
  40. Работа с кортежами в Python
  41. Импорт модулей в Python 3.12
  42. Таймер обратного отсчета
  43. Работа со строками в Python
  44. Структуры данных в Python
  45. Создание графики с черепахой

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