[Python-ideas] Inline assignments using "given" clauses

Sven R. Kunze srkunze at mail.de
Sun May 13 05:55:33 EDT 2018


On 13.05.2018 11:23, Peter O'Connor wrote:
>  *Correction: Above code should read:
>
>     outputs = []
> state = initial_state
> for inp in inputs:
> out, state = my_update_func(inp, state)
> outputs.append(out)
>

Question still stands if this type of code needs compaction in the first 
place?

List comprehensions usually have some sort of declarative touch (set 
builder notation).

Even though, striving for a more compacted version, I tend to think that 
using a declarative version of it doesn't serve it well in the long term.


We recently came across the following code snippet in our source base 
(1st answer of 
https://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-whilst-preserving-order). 
It was absolutely not comprehensible.


Your example is inherently imperative because the internal state changes 
from iteration to iteration; something unusual for set builder notation.


Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180513/d993b9bc/attachment.html>


More information about the Python-ideas mailing list