2017-09-05 99 views
-1

爲什麼執行以下操作:打印排序列表

print([7,1,0].sort()) 

生產:

None 

在執行下列操作:

a = [7,1,0] 
a.sort() 
print(a) 

生產:

[0, 1, 7] 

+1

我不會添加另一個答案,而是以不同的方式陳述當前的答案:'sort'修改你給它的列表,但不返回任何東西。 'sorted'創建列表的副本,對副本進行排序並返回排序的副本。它保持原來的列表不變。 – Carcigenicate

+0

只是一個提示:我沒有降低評分,但你確實擁有的低估可能是因爲通過檢查文檔可以回答這個問題。 ***總是***檢查文檔,如果你對功能的操作感到困惑。如果您不使用自動顯示文檔的IDE,則應在編寫時在瀏覽器中打開Python文檔。 – Carcigenicate

回答

1

因爲在第一個示例print([7,1,0].sort())中,您正在打印的值由sort()返回,並且sort()不返回任何內容。 雖然後來您正在執行sort()的列表a,然後打印列表a

Sort()更改列表中元素的順序a並且不返回任何內容。

使用sorted()獲取排序列表作爲返回值。

2

因爲.sort()操作列表上,並返回None,而print(sorted(a))打印你想要什麼,但不改變列表

2

sort()排序列表中,但返回None。你可能想要sorted

print(sorted([7,1,0]))

1

.sort()方法排序到位列表並返回None。列表變得有序,這就是爲什麼打印列表顯示期望值。但是,print(x.sort())打印的結果爲sort()sort()返回None