list.sort()

Метод sort() сортирует список на месте по возрастанию. Сортировка стабильна — порядок равных элементов сохраняется. Через параметры можно задать функцию-ключ и развернуть направление. В отличие от встроенной sorted(), которая возвращает новый список, sort() меняет исходный и возвращает None.

Сигнатура

list.sort(*, key=None, reverse=False)

Параметры

  • key — функция от одного аргумента, применяемая к каждому элементу перед сравнением. По умолчанию None — сравниваются сами элементы.

  • reverse — если True, сортирует по убыванию. По умолчанию False.

Оба параметра передаются только по имени (после *).

Возвращаемое значение

None. Список модифицируется на месте.

Примеры использования

Пример 1. Сортировка по возрастанию.

readings = [23, 21, 25, 22, 24]
readings.sort()
print(readings)
[21, 22, 23, 24, 25]

Пример 2. Сортировка по убыванию.

scores = [78, 95, 62, 88, 91]
scores.sort(reverse=True)
print(scores)
[95, 91, 88, 78, 62]

Пример 3. Сортировка по ключу — длине строки.

words = ["ESP32", "Arduino", "Pi", "STM32"]
words.sort(key=len)
print(words)
['Pi', 'ESP32', 'STM32', 'Arduino']

Пример 4. Сортировка списка словарей по полю.

students = [
    {"name": "Айдос", "score": 78},
    {"name": "Бахыт", "score": 95},
    {"name": "Дина", "score": 88},
]
students.sort(key=lambda s: s["score"], reverse=True)
for s in students:
    print(s["name"], s["score"])
Бахыт 95
Дина 88
Айдос 78

Пример 5. sort() vs sorted().

a = [3, 1, 2]
a.sort()
print("после sort:", a)

b = [3, 1, 2]
c = sorted(b)
print("sorted:", c, "исходный:", b)
после sort: [1, 2, 3]
sorted: [1, 2, 3] исходный: [3, 1, 2]

См. также

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.