On Mon, 2009-02-16 at 09:38 -0500, bob gailer wrote: > Lie Ryan wrote: > > On Sun, 2009-02-15 at 21:29 +0100, tutor-requ...@python.org wrote: > > > > > >> Do you know about sequence unpacking? In an assignment statement, when > >> the right side is a sequence, the left side can be a list of variables > >> of the same length as the sequence. Then each sequence element is > >> assigned to one variable. For example > >> > > > > <nitpick> > > The left side can only be a tuple of "names". The tuple unpacking is a > > little bit of violation of python's object model, since while python's > > tuple usually contain objects, in tuple unpacking the tuple contains a > > list of names to be assigned. > > </nitpick> > > > It's time to take a look at the Language Reference. > 6.3 Assignment statements. > assignment_stmt ::= (target_list "=")+ expression_list > a target list is not a tuple, even though it can look like one. > So I don't see it as any violation.
Every time I heard about tuple unpacking, everyone always describes the target_list as tuple. I've never looked at the Language Reference on this particular case before, so I admit I didn't know that the Language Reference does make a distinction between the two. So, I'll retract calling it as violation, tuple and target_list is a completely different beast. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor