List loops

Chris Mellon arkanes at gmail.com
Tue Oct 9 11:00:43 EDT 2007


On 10/9/07, Tommy Grav <tgrav at mac.com> wrote:
> Hi everyone,
>
>    I have a list of objects where I have want to do two loops.
> I want to loop over the list and inside this loop, work on all
> the elements of the list after the one being handled in the outer
> loop. I can of course do this with indexes:
>
>  >>> alist = range(3)
>  >>> for i in xrange(len(alist)):
> ...   for j in xrange(i+1,len(alist)):
> ...     print i,j,alist[i],alist[j]
> ...
> 0 1 0 1
> 0 2 0 2
> 1 2 1 2
>  >>>
>
>
> Is there a way to do this without using indexes?
>

>>> for idx, i in enumerate(alist):
...     for jdx, j in enumerate(range(1,4)):
...         print idx, jdx, i, j
...
0 0 0 1
0 1 0 2
0 2 0 3
1 0 1 1
1 1 1 2
1 2 1 3
2 0 2 1
2 1 2 2
2 2 2 3
>>>



More information about the Python-list mailing list