1. 程式人生 > 程式設計 >python的reverse函式翻轉結果為None的問題

python的reverse函式翻轉結果為None的問題

今天刷二級題的時候,遇到一個問題

>>> L2=[1,2,3,4]
>>> L3=L2.reverse()
>>> print( L3)
None
>>> print(L3)
None
>>> print(L2.reverse())
None

其實我想讓它輸出[4,1]

reverse函式,翻轉列表

然後我改了一下

>>> L2.reverse()
>>> L3=L2
>>> print(L3)
[4,1]
>>> print(L2)
[4,1]
>>>

這是在網上找到的解釋

a=[1,4].reverse() – why “a” is None?

看到其討論說到:

b = [1,4] a = b.reverse() would change the value of b.

才想起來,原來這個reverse函式,針對列表的操作,其結果是直接改變列表本身(為了節省空間),所以,直接就把原先的list改為你所想要的reversed後的結果了,而返回值,是空的,不返回任何值。

所以,本身直接使用:

a.reverse(); # -> is OK,the self is reversed !!!

補充知識:Python中reverse與reverse=true

排序

a = [2,1]
a.sort(reverse=True)
print(a) # [3,1]

沒有排序

a = [2,1]
a.reverse()
print(a) # [1,2]

以上這篇python的reverse函式翻轉結果為None的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。