我正在循环遍历数组的所有可能的数字组合,如下所示:
positions = [[0]*length]
for i in range(length):
for j in range(1,10):
positions[i] = j
positions[i] = 0
这本身工作正常,但是当我把它变成一个函数并返回这样的结果时它停止工作:
def funct():
arr = []
positions = [[0]*length]
for i in range(length):
for j in range(1,10):
positions[i] = j
arr.append(positions)
print(positions)
positions[i] = 0
return arr
奇怪的是,所有的打印输出都显示它像第一个例子一样工作正常。但是,返回的数组充满了数组,这些数组只是像 [0,0,0]
这样的 0 集。
造成这种差异的原因是什么?