Python reverse() vs[::-1]切片性能



Python提供了两种方法来反转列表:

列表切片表示法

['a','b','c'][::-1] # ['c','b','a']

内置reversed()函数

reversed(['a','b','c']) # ['c','b','a']

在实现/性能方面是否存在任何相关差异,或者当其中一个优于另一个时是否存在任何相关差异?

在内存中构造一个新的列表对内存和运行时都有影响。

另一方面,reversed返回一个迭代器,它只是从原始列表中按倒序一个接一个地生成元素。分配任何额外的内存

所以,如果你所做的一切都是在列表上进行反向迭代,没有必要构造一个新的(例如,如果你需要改变它),那么我会说去reversed

最新更新