2014-12-03 5 views
-1

Я не вырабатывал решение проблемы, когда я наткнулся на следующее ...Python печати возвращает None

Я начал с создания переменной, test и инициализация его в список.

test = [3, 2, 1] 

После игры вокруг с .sort() и призывая его на моем списке, test, я пытался использовать печать следующим образом:

print test.sort(reverse = True) 

Выход был None, и я был просто любопытно, почему именно этот является.

+0

В будущем почему бы не попробовать 'help (list.sort)' или 'help (test.sort)' или посмотреть его [в онлайн-справке] (https://docs.python.org/2 /library/stdtypes.html#mutable-sequence-types)? – abarnert

ответ

6

sort() изменяет список на месте и возвращает None. Это не похоже на функцию sorted(), которая возвращает ссылку на отсортированный список.

Это может также вернуть ссылку (например, JavaScript sort()), но это не так. Это решение .

+1

По мнению многих, «плохое» решение дизайна, но конструктивное решение тем не менее. :) – Gerrat

+1

@Gerrat: И, по мнению многих, очень хорошее дизайнерское решение. И, по мнению некоторых, очень конструктивное решение, принятое за неправильную (по крайней мере, сознательную) причину, которая в любом случае оказывается очень хорошей. :) – abarnert

+0

@abarnert: Я полагаю, что не могу ошибаться «BDFL» за несколько решений, которые мне не нравятся, учитывая общую красоту, простоту и полезность языка, который мне так нравится. – Gerrat

1

Сортировка работает на месте. Он не возвращает новый список.

Смежные вопросы