Python中切片操作的迭代效率如何?如果切片不可避免地复制,是否有替代方案?
我知道列表上的切片操作是O(k),其中k是切片的大小.
x[5 : 5+k] # O(k) copy operation
Run Code Online (Sandbox Code Playgroud)
然而,当迭代列表的一部分时,我发现最干净(和大多数Pythonic?)的方式(不必求助于索引)是这样做的:
for elem in x[5 : 5+k]:
print elem
Run Code Online (Sandbox Code Playgroud)
然而,我的直觉是,这仍然会导致子列表的昂贵副本,而不是简单地迭代现有列表.