我无法在函数returns python中获得list的正确值

我无法在函数returns python中获得list的正确值,python,Python,我有一个函数get_board,可以用递增的数字填充2d列表 size= int (input("Size")) def get_board(size): i=0 num=0 board = [[0] * size] * size for i in range(size): j=0 for j in range(size): board[i][j]=num num+=1 return board board

我有一个函数get_board,可以用递增的数字填充2d列表

size= int (input("Size"))

def get_board(size):
   i=0
   num=0
   board = [[0] * size] * size
   for i in range(size):
      j=0
      for j in range(size):
        board[i][j]=num
        num+=1
   return board

board= get_board(size)

print (board[0][0])
我无法得到正确的值。如果大小为3,则电路板从6 7 8开始。示例板[0][0]等于6。
我不明白。

你可以简单地用numpy来做这个:numpy.arangesize**2.reformesize,size

不能通过分配给索引来创建列表元素。您必须使用board.append。该代码会引发名称错误。我们可以看到您的真实代码吗?是否有其他代码初始化board变量?我猜您有board=[[0]*size]*size这样的代码,使所有行引用相同的列表。谢谢@Barmar先生,非常有用。非常感谢。