[Python-es] Matrices

Francisco Palm francisco.palm en gmail.com
Jue Feb 17 00:43:42 CET 2011


M = [ [1, 0, 0], [0, 1561561, 0], [0, 0, 1] ]

for i in M:
    print('[',end=' ')
    for j in i[:-1]:
        print('{:^10}'.format(j),end=',')
    print('{:^10} ]'.format(i[-1]),end='\n')
print('')
for i in M:
    print('[',end=' ')
    for j in i[:-1]:
        print('{:>10}'.format(j),end=',')
    print('{:^10}]'.format(i[-1]),end=' \n')
print('')
for i in M:
    print('[',end=' ')
    for j in i[:-1]:
        print('{:<10}'.format(j),end=',')
    print('{:^10} ]'.format(i[-1]),end='\n')

En Python 3 produce:

>>>
[     1     ,    0     ,    0      ]
[     0     , 1561561  ,    0      ]
[     0     ,    0     ,    1      ]

[          1,         0,    0     ]
[          0,   1561561,    0     ]
[          0,         0,    1     ]

[ 1         ,0         ,    0      ]
[ 0         ,1561561   ,    0      ]
[ 0         ,0         ,    1      ]

Con una fuente de ancho fijo queda perfectamente alineado.

2011/2/16 Fernando Guarini <fernandoenzo en gmail.com>:
> Hola a todos.
> Vereis, estoy creando un programita en Python que pretendo que trabaje con
> matrices. Para ello, he decidido anidar listas, ya que he buscado mucho en
> Google y parece ser la mejor opción.
> Y el invento no funciona mal en absoluto, pero me gustaría que gráficamente
> se viese "bonito". El código que he implementado es el siguiente:
> M = [ [1, 0, 0], [0, 1561561, 0], [0, 0, 1] ]
> for i in range(0, len(M)):
>     print M[i]
> Y la salida es:
> [1, 0, 0]
> [0, 1561561, 0]
> [0, 0, 1]
> Lo único que deseo es que la salida se vea del siguiente modo:
> [1,      0,      0]
> [0, 1561561, 0]
> [0,      0,      1]
> Es decir, que se vea como una Matriz de verdad. No pido nada más.
> Ojalá alguno sepa ayudarme.
> Salu2 y muchas gracias!
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>



-- 
--------------------------------------
fpalm en ula.ve
francisco.palm en gmail.com

cel: +58 +426 5721730
tel: +58 +274 6352001

----
Debemos ser libres, no para hacer lo que nos plazca, sino libres para
comprender muy profundamente nuestros propios instintos e impulsos. K


Más información sobre la lista de distribución Python-es