问题描述
def temprotate(arr,d,n):
temp = []
for i in range(d):
temp.append(arr[i])
# Function to shift arr by 2
for i in range(n - d):
arr[i] = arr[i + d]
# Function to reinsert temp elements
for i in range(d):
a = temp[i]
for i in range(1,d + 1):
arr.insert(arr[n - i],a)
def printarr(arr,size):
for i in range(size):
print(arr[i],end=' ')
arr = [1,2,3,4,5,6,7]
temprotate(arr,7)
printarr(arr,7)
结果= 3 2 4 5 6 7 6
我不知道插入代码部分有什么问题!
当我希望插入函数将列表中的元素替换为临时中的其他元素时,insert函数似乎想向列表中添加元素。
解决方法
目前尚不清楚您想做什么,但
# Function to reinsert temp elements,AT THE END
for i in range(d):
a = temp[i]
arr[(n-d)+i] = a
# Function to reinsert temp elements,IN SAME PLACE
for i in range(d):
a = temp[i]
arr.insert(i,a)