import time time.clock() for numelements in (1000,10000,100000,1000000): print numelements L = range(numelements) start = time.clock() I = set() for i in range(len(L)): # if not L[i].isValid(): if i % 11 == 0: I.add(i) for i in sorted(I, reverse=True): del L[i] end = time.clock() print end-start L = range(numelements) start = time.clock() L = [ item for i,item in enumerate(L) if i % 11 != 0 ] end = time.clock() print end-start print