matriz = [ [ i + 1 + j*4 for i in range(4)] for j in range(3)]
O João Victor já mandou muito bem na resposta, mas quero aproveitar
para dar dicas complementares:
1) A seção 5.1.4 do Tutorial Python [1] tem uma boa discussao sobre listcomps:
2) No exemplo do pastebin http://pastebin.com/kxm20t7M o uso da funcão
range se justifica para montar a matriz, mas usar o range para exibir
a matriz montada não é uma boa prática: em geral, deve-se evitar usar
o range para iterar sobre sequencias que já estão prontas, pois o
mecanismo de iteração do for em Python dispensa isso, e assim evitamos
os erros de off-by-one que são tão comuns em C e outras linguagens que
só tem o for primitivo.
Veja neste outro pastebin http://pastebin.com/REzVBvYW uma comparação
entre o laço de impressão usando range e sem usar. A segunda versão,
além de ser mais fácil de ler, é mais flexível: ela funciona para
qualquer quantidade de linhas e colunas na matriz m.
Valeu!
[ ]s
Luciano
--
Luciano Ramalho
Twitter: @luciano
Autor e instrutor da Academia Python na Globalcode
http://python.globalcode.com.br
1) A seção 5.1.4 do Tutorial Python [1] tem uma boa discussao sobre listcomps:
[1] http://turing.com.br/pydoc/2.7/tutorial/datastructures.html#list-comprehensions-ou-abrangencias-de-listas
2) No exemplo do pastebin http://pastebin.com/kxm20t7M o uso da funcão
range se justifica para montar a matriz, mas usar o range para exibir
a matriz montada não é uma boa prática: em geral, deve-se evitar usar
o range para iterar sobre sequencias que já estão prontas, pois o
mecanismo de iteração do for em Python dispensa isso, e assim evitamos
os erros de off-by-one que são tão comuns em C e outras linguagens que
só tem o for primitivo.
Veja neste outro pastebin http://pastebin.com/REzVBvYW uma comparação
entre o laço de impressão usando range e sem usar. A segunda versão,
além de ser mais fácil de ler, é mais flexível: ela funciona para
qualquer quantidade de linhas e colunas na matriz m.
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com