sort()
- это метод списка (list), который сортирует список на месте, изменяя его. Возвращает None
.sorted()
- это встроенная функция, которая принимает итерируемый объект (например, список, кортеж) и возвращает новый отсортированный список. Исходный итерируемый объект не изменяется.Различия между sort()
и sorted()
в Python:
sort()
:
None
. Поэтому, если попытаться присвоить результат sort()
переменной, переменная будет содержать None
.sorted()
:
Краткий пример:
# Пример со sort()
my_list = [3, 1, 4, 1, 5, 9, 2, 6]
result = my_list.sort()
print(my_list) # Вывод: [1, 1, 2, 3, 4, 5, 6, 9] (список изменён)
print(result) # Вывод: None (метод sort() не возвращает ничего)
# Пример с sorted()
my_tuple = (3, 1, 4, 1, 5, 9, 2, 6)
sorted_tuple = sorted(my_tuple)
print(my_tuple) # Вывод: (3, 1, 4, 1, 5, 9, 2, 6) (кортеж не изменён)
print(sorted_tuple) # Вывод: [1, 1, 2, 3, 4, 5, 6, 9] (новый отсортированный список)
Когда что использовать:
sort()
(это обычно быстрее и эффективнее по памяти).sorted()
. Также sorted()
подходит для сортировки коллекций, отличных от списков.