循环遍历数组组合时的奇怪输出

时间:2021-07-04 00:29:00

标签: python arrays

我正在循环遍历数组的所有可能的数字组合,如下所示:

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 集。

造成这种差异的原因是什么?

0 个答案:

没有答案
相关问题