On 01/13/2013 07:45 AM, subhabangal...@gmail.com wrote: > Dear Group, > > I have a list like, > >>>> list1=[1,2,3,4,5,6,7,8,9,10,11,12]
What version of Python? > Now, if I want to take a slice of it, I can. > It may be done in, >>>> list2=list1[:3] >>>> print list2 > [1, 2, 3] > > If I want to iterate the list, I may do as, > >>>> for i in list1: > print "Iterated Value Is:",i > > > Iterated Value Is: 1 > Iterated Value Is: 2 > Iterated Value Is: 3 > Iterated Value Is: 4 > Iterated Value Is: 5 > Iterated Value Is: 6 > Iterated Value Is: 7 > Iterated Value Is: 8 > Iterated Value Is: 9 > Iterated Value Is: 10 > Iterated Value Is: 11 > Iterated Value Is: 12 > > Now, I want to combine iterator with a slicing condition like > >>>> for i=list2 in list1: > print "Iterated Value Is:",i > > So, that I get the list in the slices like, > [1,2,3] > [4,5,6] > [7,8,9] > [10,11,12] > > But if I do this I get a Syntax Error, is there a solution? It'd be only polite if you actually included the traceback, instead of paraphrasing the error. > If anyone of the learned members may kindly let me know? > > Apology for any indentation error,etc. > > Thanking You in Advance, > > Regards, > Subhabrata > > > > let's examine the code that generates the syntax error. for i=list2 in list1: That doesn't match any of the grammar of Python, so it gives a syntax error. How could the compiler have interpreted it? Perhaps it could have thrown out the 'for' and the colon. That would be equivalent in this case to: i = False or we could toss out the "=list2" but that would give us your first loop. If I were doing this, I'd do something like (untested): temp = list1[:] #make a shallow copy of the list, so we're not modifying the original while temp print temp[:3] temp = temp[3:] I think you could do something similar with zip, but I don't have the energy this morning. -- DaveA -- http://mail.python.org/mailman/listinfo/python-list