Vale, a ver, al final he logrado lo que me proponía usando este código: M = [ [1, 4, 0], [1, 1561561, 0], [0, 0, 18198191], [1,1,1] ] for x in M: print "(", for y in range(len(x)): if y == 0: print x[y], else: print "%13d" %(x[y]), print ")"
Gracias a todos los que me habeis respondido. Pero aún me queda una duda. Si os fijais en mi código y lo probais, vereis que he puesto un 13 de espacio, para que se vea todo perfectamente encuadrado. Sin embargo, necesito que ese 13 sea "flexible" para que en función del número de caracteres que tenga el mayor de los números de la matriz, ese 13 se convierta en un 20 o en un 200 si es necesario. ¿A alguno se le ocurre cómo podría hacerse? Salu2 El 17 de febrero de 2011 00:43, Francisco Palm <francisco.p...@gmail.com>escribió: > 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 <fernandoe...@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@python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > > > > -- > -------------------------------------- > fp...@ula.ve > francisco.p...@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 > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ >
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/