-5

変数に基づいて 2 次元のリストをすばやく作成する方法が必要です。これは正しい出力になります

[[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 に答える