I am a newbie... and the first to admit it... but this has me stuffed: I have two lists A and B that are both defined as range(1,27) I want to find the entries that are valid for A = BxB
so here is my code: A = range(1,27) B = range(1,27) for b in B: if b*b in A: print b else: B.remove(b) I get, as expected 1,4,9,16,25 printed out being the only members of B where the condition is true, but when I print B I get: [1, 2, 3, 4, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25] 1 to 5 is correct, but why doesn't the remove method remove 7 and above? What am I doing wrong here? -- http://mail.python.org/mailman/listinfo/python-list