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> -- http://mail.python.org/mailman/listinfo/python-list