Практикуя Python (3.7.3), я чувствую, что хочу отсортировать ключи диктата. Но я иду против чего-то, чего я не понимаю, и не могу найти объяснения на SO.
edit: Я знаю, что метод sort () изменяет сам список, а sorted () оставляет исходный список без изменений и возвращает новый. Но кто-то может объяснить, почему конструктор list (), кажется, больше не возвращает список, когда я вызываю его метод sort ()?
Может кто-нибудь объяснить, почему это ничего не возвращает:
>>> md = {5: 3, 2: 1, 8: 9}
>>> ml = list(md.keys()).sort()
>>> ml
>>>
Если я сделаю это в два отдельных шага, это сработает:
>>> ml = list(md.keys())
>>> ml
[5, 2, 8]
>>> ml.sort()
>>> ml
[2, 5, 8]
>>>
Кроме того, я обнаружил, что, делая это в одну строку, используя sorted()
, он также работает:
>>> sorted(list(md.keys()))
[2, 5, 8]