Re: Lprint = ( Lisp-style printing ( of lists and strings (etc.) ) in Python )

Liste des GroupesRevenir à cl python 
Sujet : Re: Lprint = ( Lisp-style printing ( of lists and strings (etc.) ) in Python )
De : hjp-python (at) *nospam* hjp.at (Peter J. Holzer)
Groupes : comp.lang.python
Date : 01. Jun 2024, 09:24:14
Autres entêtes
Message-ID : <mailman.79.1717230255.2909.python-list@python.org>
References : 1 2
Pièces jointes : signature.asc (application/pgp-signature)
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.
|_|_) |                    |
| |   | hjp@hjp.at         |    -- Charles Stross, "Creative writing
__/   | http://www.hjp.at/ |       challenge!"


Date Sujet#  Auteur
31 May 24 * Lprint = ( Lisp-style printing ( of lists and strings (etc.) ) in Python )3HenHanna
1 Jun 24 +- Re: Lprint = ( Lisp-style printing ( of lists and strings (etc.) ) in Python )1Peter J. Holzer
24 Jun 24 `- Re: Lprint = ( Lisp-style printing ( of lists and strings (etc.) ) in Python )1Sebastian Wells

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal