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

时间:2021-05-22

今天刷二级题的时候,遇到一个问题

>>> 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]

以上这篇python的reverse函数翻转结果为None的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章