@ Брайан-Путман был быстрее и лучше ... в любом случае, это мой раствор:
init = lambda x, y: [init(x, y-1) if y>1 else 0 for _ in xrange(x)]
, который генерирует только квадратные матрицы размера x, заполненные нулями в габаритных размерах. вызванный таким образом
init(5, 3)
[[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]],
[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]],
[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]],
[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]],
[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]]]
Всякий раз, когда вы работаете с матрицами, вам следует рассмотреть возможность использования [NumPy] (http://www.numpy.org/). Он очень эффективен и предназначен для этой цели. – iCodez
Возможный дубликат [Как получить пустой массив любого размера, который я хочу в python?] (Http://stackoverflow.com/questions/5205575/how-do-i-get-a-empty-array-of- any-size-i-want-in-python) –
Я думаю, что это может быть канонический вопрос об инициализации матрицы, но в остальном это может быть дубликат. –