Может кто-нибудь, пожалуйста, объяснить, почему я не могу назначить переменной обратный список?

#list #variables

Вопрос:

мой список = [1, 2, 3, 4, 5, 6, 7, 8, 9]

обратный список = мой список.сортировка(обратный=True) печать(обратный список)

Когда я набираю этот код, python возвращает слово «Нет», и я не могу понять, почему я не могу назначить переменную в качестве перевернутого списка. Мы будем очень признательны за объяснение или решение этой проблемы.

Ответ №1:

Метод sort() ничего не возвращает. Вместо этого он изменяет список на месте. Таким образом, правильный код будет:

 my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
reversed_list = my_list.copy()
reversed_list.sort(reverse=True)
print(reversed_list)
 

Если вам не нужны оба списка, вы можете избежать копирования и my_list вместо этого выполнить сортировку, тем самым сэкономив немного памяти.

Ответ №2:

Вы можете использовать, если не хотите изменять объект списка. sorted() sorted() функция может сортировать любые повторяющиеся элементы и возвращать список элементов в этом повторяющемся отсортированном виде.

Например, sorted('abicd', reverse=True) вернется ['i', 'd', 'c', 'b', 'a']

Сортировка изменяет объект списка ур на месте и не возвращает ничего, т. е. None в python.

Вы можете лучше закодировать это так:

 my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

reversed_list = sorted(my_list, reverse=True) 
print(reversed_list)