That's interesting, I hadn't thought of that! Jacob
> Jacob S. wrote: > > > Would this work for you? > > > > a = ['Name = stuff','CGTATAGCTAGCTA','Name = stuff','CGATATGCCGGCTA'] > > for index,thing in enumerate(a): > > if "Name=" in thing: > > del a[index] > > > > I know, that it might be slow, but I thought that maybe it would hold > > its > > own because it doesn't have to import the re module, everything's > > builtin, > > etc. > > > Be careful here, the above code will miss deleting an element > containing "Name=" if there are two in a row. Look at this simple > example where we attempt to delete elements equal to 2: > > ### > > >>> a=[1,2,1,2] > >>> for i,x in enumerate(a): > .. if x==2:del a[i] > .. > >>> a > [1, 1] > >>> # > >>> # ok that looks right, but watch this > >>> # > >>> b=[2,2,1,1] > >>> for i,x in enumerate(b): > .. if x==2: del b[i] > .. > >>> b > [2, 1, 1] > > ### > > After deleting element 0 in b, all the elements "slid down" one place > and the 2nd 2 that was in b is now in position 0...but you are moving > on to index 1 with the enumerate loop: > > [2, 2, 1, 1] > ^ > enumerate is at index 0 > > we delete element 0 > > [2, 1, 1] > ^ > enumerate is at index 1 and the 2 that was at position 1 is now at > position 0 > > An alternative is to use a list comprehension, keeping only the > elements that are not 2. As is shown, you can replace the list you are > filtering with the filtered result: > > ### > > >>> b=[2,2,1,1] > >>> b=[x for x in b if not(x==2)] > >>> b > [1, 1] > > ### > > /c > > > _______________________________________________ > Tutor maillist - [EMAIL PROTECTED] > http://mail.python.org/mailman/listinfo/tutor > > _______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor