gpt4 book ai didi

python - 在python中旋转列表的有效方法

转载 作者:IT老高 更新时间:2023-10-28 12:10:36 24 4
gpt4 key购买 nike

在python中旋转列表最有效的方法是什么?现在我有这样的东西:

>>> def rotate(l, n):
... return l[n:] + l[:n]
...
>>> l = [1,2,3,4]
>>> rotate(l,1)
[2, 3, 4, 1]
>>> rotate(l,2)
[3, 4, 1, 2]
>>> rotate(l,0)
[1, 2, 3, 4]
>>> rotate(l,-1)
[4, 1, 2, 3]

有没有更好的办法?

最佳答案

一个 collections.deque针对两端拉和推进行了优化。他们甚至有一个专用的 rotate() 方法。

from collections import deque
items = deque([1, 2])
items.append(3) # deque == [1, 2, 3]
items.rotate(1) # The deque is now: [3, 1, 2]
items.rotate(-1) # Returns deque to original state: [1, 2, 3]
item = items.popleft() # deque == [2, 3]

关于python - 在python中旋转列表的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2150108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com