-5

需要一种基于变量构建二维列表的快速方法。这将是正确的输出

[[0,1,2], [3,4,5]]

相反,我得到的输出是......

[[0, 1, 2], [0, 1, 2]]
4

2 回答 2

2

根据您的示例,一些建议

>>> zip(*[iter(range(10))]*3)
[(0, 1, 2), (3, 4, 5), (6, 7, 8)]

>>> [range(n,n+3) for n in range(1,10,3)]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

>>> it = iter(range(10))
>>> [list(islice(it,3)) for _ in range(3)]
[[0, 1, 2], [3, 4, 5], [6, 7, 8]]
于 2013-03-28T03:52:36.097 回答
1

使用列表推导来做到这一点。将第一个 i 替换为您要使用的任何填充字符。

 l = [[i for i in range(width)] for j in range(height)]
于 2013-03-28T03:55:47.447 回答