On Saturday, March 22, 2014 2:26:09 AM UTC+5:30, vasudevram wrote: > On Saturday, March 22, 2014 2:24:00 AM UTC+5:30, Rustom Mody wrote: > > Lets try without comprehending comprehensions :-) > > >>> x=[[1,2],[3,4]] > > >>> for x in x: > > ... for x in x: > > ... print x > > ... > > 1 > > 2 > > 3 > > 4
> Nice and all, thanks, but doesn't answer the question. Which is? A 'for' introduces a scope: >>> x = 42 >>> for x in [1,2,3]: ... print x ... 1 2 3 No sign of the 42 --v ie the outer x -- inside because of scope And so we can do: >>> x = [1,2,3] >>> for x in x: ... print x ... 1 2 3 which implies that in a "for var in exp: ..." the exp is evaluated in outer scope whereas the var has a new scope inside the "..." Now repeatedly apply that principle to the nested for. Same principle for nested for in a comprehension. -- https://mail.python.org/mailman/listinfo/python-list