Skip to main content
 首页 » 编程设计

python之何时使用反向内置而不是列表切片

2025年05月04日14zhenyulu

在 python 中,有很多方法可以反转序列:

l = [1,2,3] 
reversed(l) #returns a reverse iterator 
l[::-1] #returns a reverse sequence 

虽然有一个专门用于反转序列的内置函数,但使用列表切片更简洁。此外,列表切片返回一个完整的Sequence,它支持__getitem__和__len__,而reversed只是一个迭代器。最后,reversed 需要一个Sequence,这意味着列表切片几乎总是有效。

使用 reversed 内置列表切片有什么优势?

请您参考如下方法:

list[::-1] 返回列表的新反向副本。会根据list的大小消耗更多的内存:sizeof the list object + sizeof(pointer) * len(list)

如果您不需要一次使用整个列表项,请使用 reversed在内存方面更可取。 (例如,倒序迭代列表,一项一项处理并不需要一次处理所有项。)