Python 3000 idea: reversing the order of chained assignments
nobody at invalid.com
Thu Mar 22 19:04:35 CET 2007
Actually, after studying this a bit more:
I guess that makes sense. Sorry if I muddied the water for anyone else in my
n1 = n1.next = n2
The first thing that happens is the expression list is evaluated which is
the thing on the far right, n2. That is a simple object reference which is
then assigned to each of the target lists, left to right, of which there are
two: n1 and n1.next.
So, first, n1 is assigned the same value n2 has.
Next, n1.next is assigned n2 (The object n1 refers to, which is also now n2,
is assigned a new attribute, that value of which is n2).
So, yeah... as Terry Reedy said: better to be explicit about what you want
to happen first and not mash them together into one line.
That would be... how do you say... "Pythonic"?
(God, I feel so much better now. LOL)
More information about the Python-list