每個標(biāo)題。我不明白為什么它無效。我知道他們改變了對象,但是如果你調(diào)用 sort 方法,在它完成之后你會調(diào)用 reverse 方法,所以它應(yīng)該沒問題。為什么我需要在下面的行中輸入 lst.sort(),lst.reverse()?編輯:好吧,當(dāng)它被這樣指出時,我之前沒有得到它有點尷尬。我從字面上認識到它改變了對象并因此返回了一個 None,但我想它沒有注冊這也意味著你不能反轉(zhuǎn)一個 None 類型的對象。
3 回答

翻翻過去那場雪
TA貢獻2065條經(jīng)驗 獲得超14個贊
當(dāng)您調(diào)用 lst.sort() 時,它不會返回任何內(nèi)容,它會更改列表本身。所以 lst.sort() 的結(jié)果是 None,因此你試圖反轉(zhuǎn) None 這是不可能的。

肥皂起泡泡
TA貢獻1829條經(jīng)驗 獲得超6個贊
簡單地說,lst.sort()不返回排序的列表。它會自我修改。
>>> lst = [3,1,2,0]
>>> lst
[3, 1, 2, 0]
>>> lst.sort().reverse()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'reverse'
>>>
由于lst.sort()不返回任何內(nèi)容,Python 會自動None為您返回。由于None沒有reverse方法,因此會出現(xiàn)錯誤。
>>> lst.sort()
>>> lst.reverse()
>>> lst
[3, 2, 1, 0]
>>>
添加回答
舉報
0/150
提交
取消