Greg, I do not advocate for writing extremely concise python as mentioned in that book although I was quite interested and do use some of the methods.
But I worry about what you focused in on. Everyone says a picture is worth a thousand words. So when writing about python one-liners, you might shorten some programs even more with a nice illustration! But if that is an obstacle, perhaps the edition below is less illustrative. https://www.amazon.com/gp/product/B07ZY7XMX8 Just a reminder. My point was not about a book or set of techniques. It was that lots of Python features can be used quite effectively to reduce the need for more lines of cluttered code or places you may be tempted to use semicolons. Having said that, guess what some one-liner techniques use? In my view, terseness is not a goal in and of itself. However, it has often been said that the number of bugs in code often seems correlated with the number of lines and code written using higher levels of coordination and abstraction in a language that supports that, can often be written with fewer lines and apparently even with fewer bugs. There is also a well-known set of phenomena about us humans in that many of us are wired to handle fairly small amounts in memory at a time, such as perhaps 7. People who can do substantially better are often using an assortment of tricks like clumping. I mean most people can remember a 10-digit phone number for a while because they may chunk it into xxx-yyy-abcd or something like that where xxx is just remembered as one unit as a complete area code while abcd is remembered as 4 individual digits. So languages that allow and encourage not so much terseness as variations like chunking, meaning using lots of smaller well-named functions, objects that encapsulate what your program logic is, and yes, terse but easy to understand ways of doing things like loops and functional programming methods, and that are extended by modules or packages with a well-defined interface, can let you focus on the program at higher levels that do fit in your memory and can be reasoned more easily and accurately. So some one-liners are great. Others not so much. Can you imagine a list comprehension with a dozen or so nested loops on one long line, including regions grouped in parentheses and lots of "if" clauses? It may be one line that wraps on your screen into many or has to be scrolled sideways. Yes, you can rewrite it split across many lines. But at some point, it may be better to refactor it using a functional style or writing the loops out explicitly. In my experience, some one-liners are accompanied by paragraphs of comments explaining them. And often they use tricks that are less efficient. Avi -----Original Message----- From: Python-list <python-list-bounces+avi.e.gross=gmail....@python.org> On Behalf Of Greg Ewing via Python-list Sent: Friday, February 24, 2023 1:31 AM To: python-list@python.org Subject: Re: semi colonic On 24/02/23 9:26 am, avi.e.gr...@gmail.com wrote: > Python One-Liners: Write Concise, Eloquent Python Like a Professional > Illustrated Edition by Christian Mayer (Author) I didn't know there were any Professional Illustrated Editions writing Pythom. You learn something every day! :-) -- Greg -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list