TGViewer
Python Portal Python Portal @pythonportal · 50.2K subscribers
Post #5538 8.55K
Немного базы Python. День 5. Сортировка списка по убыванию

Метод sort() сортирует список по возрастанию (по умолчанию).

Чтобы sort() работал, элементы списка должны быть одного типа. Нельзя сортировать список со смешанными типами данных, например числа и строки.

У метода sort() есть параметр reverse; чтобы отсортировать список по убыванию, установите reverse=True.

list1 = [2, 5, 6, 8, 1, 8, 9, 11]

list1.sort(reverse=True)
print(list1)

# [11, 9, 8, 8, 6, 5, 2, 1]


Помните: sort() это строго метод списка (list). Его нельзя использовать для сортировки set, tuple, string или dictionary.

Метод sort() не возвращает новый список; он сортирует существующий список на месте (in place).

Если вы попробуете создать новый объект с помощью sort(), он вернет None. Пример ниже:

list1 = [2, 5, 6, 8, 1, 8, 9, 11]
list2 = list1.sort(reverse=True)
print(list2)

# None


У метода sort() есть необязательный параметр key, который позволяет настроить поведение сортировки.

Этот параметр используется для передачи функции, которая задает критерий сортировки элементов списка.

В примере ниже у нас список кортежей, и мы хотим отсортировать его по возрасту студента. Используя параметр key вместе с lambda-функцией, можно реализовать такую кастомную сортировку. См. ниже:

students = [
("Alice", 22),
("Bob", 20),
("Charlie", 24)
]

# Сортируем студентов по возрасту, используя lambda-функцию как key
students.sort(key=lambda students: students[1])
print(students)

# [('Bob', 20), ('Alice', 22), ('Charlie', 24)]


Метод sort() является стабильным (stable), то есть сохраняет относительный порядок равных элементов в отсортированном списке.

Если у двух элементов одинаковый ключ сортировки, их исходный порядок сохраняется. Например, если у "Alice" и "Bob" одинаковый возраст, их порядок останется прежним. Это и называется стабильной сортировкой (stable sorting). См. пример:

students = [
("Alice", 22),
("Bob", 22),
("Charlie", 24)
]

# Сортируем студентов по возрасту, используя lambda-функцию как key
students.sort(key=lambda students: students[1])
print(students)

# [('Alice', 22), ('Bob', 22), ('Charlie', 24)]


Как видно, порядок элементов "Alice" и "Bob" не изменился, потому что у них одинаковый возраст.

👉 @PythonPortal #100daysofpython
  • ❤ 25
  • 👍 12
More from @pythonportal
  1. Oct 7, 2026Робототехника — это, по сути, постоянное согласование систем координат. Лидар видит мир в…
  2. Oct 7, 2026Понимание алгоритмов меняет то, как вы пишете код. Этот плейлист учит именно пониманию. Па…
  3. Oct 6, 2026«Разбираемся в трансформерах и механизмах внимания» — краткое математическое введение в ме…
  4. Oct 6, 2026Начни изучать программирование GPU с одной полностью анимированной лекции на YouTube. Это…
  5. Oct 5, 2026«Основы компьютерного зрения» — бесплатная онлайн-книга издательства MIT Press, которая да…
  6. Oct 5, 2026DeepSeek выложила в открытый доступ библиотеку, которая ускоряет вычисления на GPU, лежащи…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →