【发布时间】:2020-05-01 13:57:25
【问题描述】:
这是我的代码,cmets 表示打印函数的输出:
def rotLeft(a, d):
rotArray = a
arraySize = len(a)
print(a)#[1, 2, 3, 4, 5]
for index, item in enumerate(a):
print(index) # 0 1 2 3 4
print(item) # 1 1 1 1 1
rotArray[(index + 1) % arraySize] = item
return rotArray
如果我删除最后一个 for 指令,我们可以检索正确的值。但是,如果我们进行维护,它会以某种方式与我原来的数组混淆。为什么会发生这种情况,在这种情况下有什么好的做法?
【问题讨论】:
-
rotArray和a是同一个列表。你没有复制它,你只是为同一个对象设置了另一个变量。 -
d是干什么用的? -
@schwobaseggl,它是一个旋转数组的变量,我将在修复第一部分时使用
标签: python arrays python-3.x list enumerate