Newbie question about list method remove

Larry Bates lbates at swamisoft.com
Wed May 5 20:32:00 EDT 2004


In Python you must think "differently" than in
other programming languages.

li2=[f for f in li2 if not f.endswith('.txt')]

for your specific example or in Python 2.2 and earlier

li2=[f for f in li2 if f.count('.txt') == 0]

for the more general .txt ANYWHERE in the string

or in Python 2.3

li2=[f for f in li2 if not '.txt' in f]


Larry Bates
Syscon, Inc.

"Sean Berry" <sean_berry at cox.net> wrote in message
news:myemc.69648$Jy3.5301 at fed1read03...
> Why is this:
>
> >>> li2 =['this.txt', 'that.txt', 'April04', 'more.txt']
> >>> for item in li2:
>             if ".txt" in item:
>                 li2.remove("%s" %item)
> >>> li2
> ['that.txt', 'April04']
>
> I would think that 'that.txt' would be removed as well.  Where am I wrong?
>
> TIA
>
>





More information about the Python-list mailing list