On Monday, May 16, 2022 at 11:27:58 PM UTC+8, Dennis Lee Bieber wrote: > On Mon, 16 May 2022 02:03:26 -0700 (PDT), "hongy...@gmail.com" > <hongy...@gmail.com> declaimed the following: > > > >print(lst) > > Printing higher level structures uses the repr() of the structure and > its contents -- theoretically a form that could be used within code as a > literal. If you want human-readable str() you will need to write your own > output loop to do the formatting of the structure, and explicitly print > each item of the structure.
Thank you for your explanation. I have come up with the following methods: ``` b=[[0.0, -1.0, 0.0, 0.25], [1.0, 0.0, 0.0, 0.25], [0.0, 0.0, 1.0, 0.25], [0.0, 0.0, 0.0, 1.0]] import numpy as np from fractions import Fraction import re def strmat(m): if(np.array([m]).ndim==1): return str(Fraction(m)) else: return list(map(lambda L:strmat(L), np.array(m))) a=str(strmat(b)) a=re.sub(r"'","",a) repr(a) print(repr(a)) '[[0, -1, 0, 1/4], [1, 0, 0, 1/4], [0, 0, 1, 1/4], [0, 0, 0, 1]]' ``` Best, HZ -- https://mail.python.org/mailman/listinfo/python-list