Python Forum

Full Version: preferred?: multiple assignment
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
which would be preferred for assigning x to 6 variables:

a,b,c,d,e,f=x,x,x,x,x
vs.

a=b=c=d=e=f=x
and is there also a preferred style?
The latter is definitely more concise and to-the-point. I would go with that unless you want identity to different when equality would still be equal (e.g. a bunch of empty tuples).
If they're all the same value, I'd prefer the chaining (second example). But I think the first just shouldn't be used for more than two variables, otherwise it gets difficult to read.
(Dec-03-2016, 03:18 AM)Skaperen Wrote: [ -> ]which would be preferred for assigning x to 6 variables:

a,b,c,d,e,f=x,x,x,x,x
vs.

a=b=c=d=e=f=x
and is there also a preferred style?

i guess no one noticed my typo of only 5 xs in the first code.
(Dec-17-2016, 03:28 AM)Skaperen Wrote: [ -> ]i guess no one noticed my typo of only 5 xs in the first code.
All the more reason it shouldn't be preferred :)
(Dec-17-2016, 07:56 AM)micseydel Wrote: [ -> ]
(Dec-17-2016, 03:28 AM)Skaperen Wrote: [ -> ]i guess no one noticed my typo of only 5 xs in the first code.
All the more reason it shouldn't be preferred  :)
agreed Dance
(Dec-19-2016, 08:00 AM)Skaperen Wrote: [ -> ]
(Dec-17-2016, 07:56 AM)micseydel Wrote: [ -> ]All the more reason it shouldn't be preferred  :)
agreed Dance

On the contrary... both of these are invalid Python
a,b,c,e,f=x,x,x,x,x
a,b,c,d,e,f=x,x,x,x
So even if a human doesn't notice the problem, Python will. While:
a,b,d,e,f=x
is correct and you'll be told about the unitialized c much later.