Упражнения по Python для начинающих

Sort a List in Python with sorted() and key

Sort numbers, words or whole records by any field, ascending or descending, in one line.

  • Начальный
  • Чтение: 2 мин
  • Примеров для запуска: 1
Что вы узнаете
  • sorted() versus list.sort()
  • Sorting records with key=lambda
  • reverse=True for descending order
sorted(students, key=score, reverse=True)
1stAda (95)
2ndSam (91)
3rdLin (88)

The key decides the order

Функция sorted() возвращает новый отсортированный список и не трогает исходный. Для более сложных данных, например списка словарей, параметр key задаёт критерий сортировки, скажем, сортировать студентов по баллам.

Главное

  1. sorted(items) returns a new list; items.sort() changes the list in place.
  2. key=lambda s: s["score"] sorts records by one field.
  3. reverse=True sorts from largest to smallest.
  4. Python's sort is stable: equal keys keep their original order.

Когда это нужно?

  • Освоить синтаксис и основные понятия Python на коротких и понятных примерах.
  • Заложить прочную основу, прежде чем переходить к более сложным задачам.
  • Запускать код прямо в браузере, не устанавливая Python на компьютер.

Пример кода

Запустить код →
main.py
students = [
    {"name": "Lin", "score": 88},
    {"name": "Ada", "score": 95},
    {"name": "Sam", "score": 91},
]

ranked = sorted(students, key=lambda student: student["score"], reverse=True)
print([student["name"] for student in ranked])
Получить кнопку запуска для этого примера

Результат выполнения

['Ada', 'Sam', 'Lin']

Разбор кода

Функция lambda student: student["score"] достаёт балл каждого студента, чтобы использовать его для сравнения. Параметр reverse=True сортирует по убыванию, поэтому студент с самым высоким баллом оказывается первым. Исходный список students не меняется.

Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.

Упражнения для практики

Попробуйте изменить код по подсказкам ниже. Если менять код и смотреть на результат, урок запомнится гораздо лучше, чем при простом чтении.

  1. Измените входные данные и предскажите результат до запуска.
  2. Добавьте проверку пустых или неверных данных.
  3. Вынесите обработку в отдельную функцию и проверьте её на нескольких наборах данных.
Запустить в компиляторе Python →

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи