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”isNone?
看到其讨论说到:
b=[1,2,3,4]a=b.reverse()wouldchangethevalueofb.
才想起来,原来这个reverse函数,针对列表的操作,其结果是直接改变列表本身(为了节省空间),所以,直接就把原先的list改为你所想要的reversed后的结果了,而返回值,是空的,不返回任何值。
所以,本身直接使用:
a.reverse();#->isOK,theselfisreversed!!!
补充知识: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的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。