On 2024-05-30 21:47:14 -0700, HenHanna via Python-list wrote: > [('the', 36225), ('and', 17551), ('of', 16759), ('i', 16696), ('a', 15816), > ('to', 15722), ('that', 11252), ('in', 10743), ('it', 10687)] > > ((the 36225) (and 17551) (of 16759) (i 16696) (a 15816) (to 15722) (that > 11252) (in 10743) (it 10687)) > > > i think the latter is easier-to-read, so i use this code > (by Peter Norvig)
This doesn't work well if your strings contain spaces: Lprint( [ ["Just", "three", "words"], ["Just", "three words"], ["Just three", "words"], ["Just three words"], ] ) prints: ((Just three words) (Just three words) (Just three words) (Just three words)) Output is often a compromise between readability and precision. > def lispstr(exp): > # "Convert a Python object back into a Lisp-readable string." > if isinstance(exp, list): This won't work for your example, since you have a list of tuples, not a list of lists and a tuple is not an instance of a list. > return '(' + ' '.join(map(lispstr, exp)) + ')' > else: > return str(exp) > > def Lprint(x): print(lispstr(x)) I like to use pprint, but it's lacking support for user-defined types. I should be able to add a method (maybe __pprint__?) to my classes which handle proper formatting (with line breaks and indentation). hp -- _ | Peter J. Holzer | Story must make more sense than reality. |_|_) | | | | | h...@hjp.at | -- Charles Stross, "Creative writing __/ | http://www.hjp.at/ | challenge!"
signature.asc
Description: PGP signature
-- https://mail.python.org/mailman/listinfo/python-list