30秒学会 Python 片段 · 2023年6月1日

30秒学会 Python 片段 – Rotate list elements

Moves the specified amount of elements to the start of the list.

  • Use slice notation to get the two slices of the list and combine them before returning.

代码实现

def roll(lst, offset):
  return lst[-offset:] + lst[:-offset]

使用样例

roll([1, 2, 3, 4, 5], 2) # [4, 5, 1, 2, 3]
roll([1, 2, 3, 4, 5], -2) # [3, 4, 5, 1, 2]

翻译自:https://www.30secondsofcode.org/python/s/roll