为什么函数返回的列表调用.reverse()方法时打印结果为None
.reverse()方法返回None的原因 Python 列表的.reverse()属于原地修改方法,它不会生成新的反转列表,而是直接修改调用该方法的列表本身,且没有显式定义返回值,所以默认返回None,你直接打印swapped.reverse()的结果自然就是None。
正确使用.reverse()实现打印的写法
如果你坚持用.reverse()完成需求,可以先执行反转操作,再打印已经被修改后的原列表即可:
# 先执行原地反转,swapped本身会变成反转后的内容 swapped.reverse() # 直接打印swapped变量即可 print('Reversing:', swapped)
注意:该操作会修改
swapped本身的内容,如果你后续还需要用到首尾交换后未反转的列表,需要提前拷贝一份备份。
几种常见列表反转方式的差异
.reverse():列表内置方法,原地修改原列表,无返回值,适合不需要保留原列表的场景reversed():Python内置函数,不修改原列表,返回一个反转迭代器,需要用list()转成列表才能得到完整反转结果,适合需要保留原列表的场景- 切片
[::-1]:生成新的反转列表,不修改原列表,写法更简洁,也是常用的列表反转写法
内容的提问来源于stack exchange,提问作者rubengavidia0x
相关产品推荐
相关产品推荐

