Python,制作二维列表

时间:2013-03-28 03:45:48

标签: python

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

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

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

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

2 个答案:

答案 0 :(得分: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]]

答案 1 :(得分:1)

使用列表推导来执行此操作。将第一个i替换为您要使用的填充符。

 l = [[i for i in range(width)] for j in range(height)]