On Apr 4, 3:08 am, Steven D'Aprano <[EMAIL PROTECTED]> wrote: > On Wed, 04 Apr 2007 00:59:23 -0700, 7stud wrote: > > On Apr 3, 3:53 pm, "bahoo" <[EMAIL PROTECTED]> wrote: > >> > target = "0024" > >> > l = ["0024", "haha", "0024"] > > >> > for index, val in enumerate(l): > >> > if val==target: > >> > del l[index] > > >> > print l > > >> This latter suggestion (with the for loop) seems to be buggy: if there > >> are multiple items in the list "l" equal to "target", then only the > >> first one will be removed! > > >> Thanks anyways. > > > Prove it. > > Try replacing l = ["0024", "haha", "0024"] > with > > l = ["0024", "0024", "haha"] > > and re-running the code. > > Actually, the description of the bug isn't quite right. The behaviour of > the for loop isn't defined -- sometimes it will work, sometimes it won't, > depending on how many items there are, and which of them are equal to the > target. >
Thank you for the explanation. -- http://mail.python.org/mailman/listinfo/python-list