Problem with List of List

Kirt moqtar at gmail.com
Sat Aug 26 02:23:00 EDT 2006


Fredrik Lundh wrote:
> Fredrik Lundh wrote:
>
> >> I have a code
> >> ==================CODE=============
> >> List=[['1', 'a', '6'], ['1', 'b', '6'], ['1', 'c', '6'],
> >>         ['1', 'd', '6'],['2', 'a','6'], ['2', 'b', '6'],
> >>         ['2', 'c', '6'], ['2', 'd', '6'], ['3', 'a', '6'],
> >>         ['3','b', '6'], ['4', 'a', '6'], ['4', 'b', '6']]
> >>
> >>
> >> for x in List:
> >>     temp=[]
> >>     print x
> >>     for y in List:
> >>             if x[0]==y[0]:
> >>                     print y[0],y[1]
> >>                     temp.append(y)
> >>     for z in temp:
> >>            List.remove(z)
> >>             print 'rem', z
> >
> > the for loop uses an internal index to fetch items from the list you're
> > looping over, so if you remove items from it, you'll end up skipping
> > over items.
>
> forgot to mention that the fix is to change the first for statement to:
>
>      for x in List[:]:
>
> </F>
Thanx Fredrik Lundh for ur response. I tried ur fix But the output i am
getting is repeated.

for x in List[:]:
    t2=[]
    print x[0]
    for y in List:
            if x[0]==y[0]:
                    print y[1],y[2]
                    t2.append(y)

    for z in t2:
            List[:].remove(z)

The output i am getting is now is:

1
a 6
b 6
c 6
d 6

1
a 6
b 6
c 6
d 6

1
a 6
b 6
c 6
d 6
1
a 6
b 6
c 6
d 6

2
a 6
b 6
c 6
d 6

2
a 6
b 6
c 6
d 6

2
a 6
b 6
c 6
d 6

2
a 6
b 6
c 6
d 6

3
a 6
b 6

3
a 6
b 6

4
a 6
b 6

4
a 6
b 6

Can u show me where i am going wrong.




More information about the Python-list mailing list