在 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在内存方面更可取。 (例如,倒序迭代列表,一项一项处理并不需要一次处理所有项。)
