从一系列唯一值创建多维列表

2024-04-26 20:42:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个nxn2d列表,其中的值从0到n开始

像这样的

[ 1 2 3 4 ]

[ 5 6 7 8 ]

[ 9 10 11 12]

我试着用下面的代码来做

    self.board = [[list(range(n*n) for i in range(self.n)] for num in range(self.n)]

但它却用16个元素填充列表中的每个元素

我应该用什么表达式来替换list(range(n*n))?你知道吗


Tags: 代码inselfboard元素列表for表达式
2条回答

尝试:

 >>> N = 4
 >>> board = [[j for j in xrange(N*i+1,N*i+N+1)] for i in xrange(N)]
 [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

怎么样:

>>> n = 4
>>> [[j*n+i+1 for i in range(n)] for j in range(n)]
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

相关问题 更多 >