2013-03-28 3 views
-5

Нужно быстро создать двумерный список на основе переменных. Это было бы правильным выходPython, создающий двумерный список

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

Вместо вывода им получаю ...

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

Просьба показать, что вы пытались – jamylak

+0

Вы уже объявили об этом ?! В чем смысл вашего вопроса? – 2013-03-28 03:47:46

ответ

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]] 
+0

Ваше второе решение работает прекрасно. Спасибо m8. –

1

Использование списковых сделать это. Замените первый i любым символом наполнителя, который вы хотите использовать.

l = [[i for i in range(width)] for j in range(height)] 
Смежные вопросы