Временная сортировка списка функцией sorted()
Чтобы сохранить исходный порядок элементов списка, но временно представить их в отсортированном порядке, можно воспользоваться функцией sorted(). Функция sorted() позволяет представить список в определенном порядке, но не изменяет фактического порядка элементов в списке.
Попробуем применить эту функцию к списку машин.
cars = ['bmw', 'audi', 'toyota', 'subaru']
(1) print("Here is the original list:")
print(cars)
(2)print(" Here is the sorted list:")
print(sorted(cars))
(3)print(" Here is the original list again:")
print(cars)
Сначала список выводится в исходном порядке (1) , а затем в алфавитном (2). После того как список будет выведен в новом порядке, в точке (3), мы убеждаемся в том, что список все еще хранится в исходном порядке.
Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']
(1) Here is the original list again:
['bmw', 'audi', 'toyota', 'subaru']
Обратите внимание: после вызова функции sorted() список продолжает храниться в исходном порядке (1) . Функции sorted() также можно передать аргумент reverse=True, чтобы список был представлен в порядке, обратном алфавитному.
примечание
Если не все значения записаны в нижнем регистре, алфавитная сортировка списка немного усложняется. При определении порядка сортировки появляются разные способы интерпретации прописных букв, и точное определение порядка уже не столь важно (во всяком случае, чтобы отвлекаться на него сейчас). Впрочем, большинство способов сортировки напрямую следует из того, о чем вы узнали в этом разделе.