сортировка списка по возрастанию и убыванию

Python — сортировка списка по возрастанию и убыванию

Привет всем! Иногда нужно организовать сортировку списка по возрастанию и убыванию. Есть очень простой вариант решения данного вопроса 😉

Собственно, некоторые варианты я описывал тут. Но — в стандартной поставке Python имеется библиотека heapq, описывать полный функционал которой я сейчас не буду (позднее опишу, да), и которая поможет нам организовать сортировку списка по возрастанию и убыванию. Приведу пример, который позволяет организовать сортировку списка по возрастанию и убыванию буквально одной строкой. Итак:

  1. import random #подключили библиотеку для работы со случайными числами
  2. import heapq #подключили библиотеку для работы со списками
  3. list=[random.randrange(1,1000) for i in range(100)] #Сгенерировали список, состоящий из случайных чисел, где random.randrange(1,1000) - случайное число от 1 до 1000, range(100) - количество элементов в создаваемом списке
  4. print(list) #Вывели полученный список в консоль
  5. print(heapq.nsmallest(len(list), list)) #Вывели результат сортировки списка по возрастанию, причем: len(list) - количество элементов списка, к которым нужно применить сортировку
  6. print(heapq.nlargest(len(list), list)) #Вывели результат сортировки списка по убыванию, причем: len(list) - количество элементов списка, к которым нужно применить сортировку

Как видите — все просто. И без магии. Спасибо за внимание! Как всегда — в случае возникновения вопросов пишите на почту или в Telegram.