我有一个函数
def rotate(a, n, k):
pass
我需要得到列表a
,选择第一个n
项目并将它们的k
位置向左或向右移动(正向左,负向左)。
例如:
rotate([1,2,3,4,5,6,7,8,9], 3, 2)
=> [4,5,1,2,3,6,7,8,9]
我试着
def rotate(a, n, k):
movable = a[:n]
const = a[:n]
for item in movable:
const[k] = item
但是它不能正常工作。
你可以直接使用列表连接:
l=[1,2,3,4,5,6,7,8,9]
n=3
k=2
rotated = l[:n] + l[n:n+k] + l[n+k:]
结果rotated=[4,5,1,2,3,6,7,8,9]