网络编程
位置:首页>> 网络编程>> Python编程>> python的reverse函数翻转结果为None的问题

python的reverse函数翻转结果为None的问题

作者:SieteDing  发布时间:2022-06-20 16:27:32 

标签: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() – 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]

来源:https://blog.csdn.net/weixin_42169849/article/details/88897132

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com