Python提供了两种方法来反转列表:
列表切片表示法
['a','b','c'][::-1] # ['c','b','a']
内置reversed()函数
reversed(['a','b','c']) # ['c','b','a']
在实现/性能方面是否存在任何相关差异,或者当其中一个优于另一个时是否存在任何相关差异?
在内存中构造一个新的列表对内存和运行时都有影响。
另一方面,reversed
返回一个迭代器,它只是从原始列表中按倒序一个接一个地生成元素。不分配任何额外的内存
所以,如果你所做的一切都是在列表上进行反向迭代,没有必要构造一个新的(例如,如果你需要改变它),那么我会说去reversed
。