pythonのreverse関数の反転結果はNoneの問題です。


今日は二級問題をする時、問題があります。

>>> L2=[1,2,3,4]
>>> L3=L2.reverse()
>>> print( L3)
None
>>> print(L3)
None
>>> print(L2.reverse())
None
実は[4,3,2,1]を出力してもらいたいです。
reverse関数、リストを反転
そして私は変えました。

>>> L2.reverse()
>>> L3=L2
>>> print(L3)
[4, 3, 2, 1]
>>> print(L2)
[4, 3, 2, 1]
>>>
これはネットで見つけた説明です。
a=[1,2,3,4].reverse()C why“a”is None?
その討論を見て言いました。
b=[1,2,3,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, 3, 1]
a.sort(reverse=True)
print(a) # [3, 2, 1]
並べ替えなし

a = [2, 3, 1]
a.reverse()
print(a) # [1, 3, 2]
以上のpythonのreverse関数が反転しました。結果はNoneの問題です。小編集が皆さんに提供した内容は全部分かりました。参考にしてほしいです。どうぞよろしくお願いします。