Walking lists

Peter Otten __peter__ at web.de
Thu Feb 25 13:45:28 CET 2010


lallous wrote:

> I am still learning Python, and have a question, perhaps I can shorten
> the code:
> 
> L = (
>   (1, 2, 3),
>   (4,),
>   (5,),
>   (6, 7)
> )
> 
> for x in L:
>     print x
> 
> What I want, is to write the for loop, something like this:
> 
> for (first_element, the_rest) in L:
>   print first_element
>   for x in the_rest:
>     # now access the rest of the elements
> 
> I know I can :
> for x in L:
>     first = x[0]
>     rest = x[1:]
>     ....
> Probably that is not possible, but just asking.

In Python 3 you can write

>>> for first, *rest in L:
...     print("first:", first, "rest:", rest)
...
first: 1 rest: [2, 3]
first: 4 rest: []
first: 5 rest: []
first: 6 rest: [7]

Peter



More information about the Python-list mailing list