+12 投票
分类:Python编程与实践 | 用户: (340 分)

2 个回答

+2 投票
用户: (190 分)
有没有一种可能,reverse方法没有返回值
+2 投票
用户: (45.4k 分)

注意到官方文档“内置类型”一节,有如下表述:

“当反转大尺寸序列时 reverse() 方法会原地修改该序列以保证空间经济性。 为提醒用户此操作是通过间接影响进行的,它并不会返回反转后的序列。”

相较于内置函数 reversed() 不改变值而返回重排序列,作为成员方法的reverse() 通过不返回有效值来提示其作用机制,不失为一种直观的区分办法。Python里,不明确用 return 返回值的函数,打印函数返回结果会打印 None ,而不会报错。如下所示:

>>> cars = ["BMW", "Passat", "Audi", "Volvo"]
>>> print(list(reversed(cars)))
['Volvo', 'Audi', 'Passat', 'BMW']
>>> print(cars)
['BMW', 'Passat', 'Audi', 'Volvo']
>>> print(cars.reverse())
None
>>> print(cars)
['Volvo', 'Audi', 'Passat', 'BMW']

 

欢迎来到 爱可可Q&A ,有什么问题可以尽管在这里提问,你将会收到其他成员的热心回答。
...