string issue
Bill Mill
bill.mill at gmail.com
Fri Feb 4 14:58:46 EST 2005
On Fri, 04 Feb 2005 14:43:30 -0500, rbt <rbt at athop1.ath.vt.edu> wrote:
> Steve Holden wrote:
> > rbt wrote:
> >
> >> Either I'm crazy and I'm missing the obvious here or there is
> >> something wrong with this code. Element 5 of this list says it doesn't
> >> contain the string 255, when that's *ALL* it contains... why would it
> >> think that???
> >>
> >> import time
> >>
> >> ips = ['255.255.255.255', '128.173.120.79', '198.82.247.98',
> >> '127.0.0.1', '255.0.0.0', '255', '128.173.255.34']
> >>
> >> for ip in ips:
> >> if '255' in ip:
> >> try:
> >> print "Removing", ip
> >> ips.remove(ip)
> >> except Exception, e:
> >> print e
> >>
> >> print ips
> >> time.sleep(5)
> >>
> >> Someone tell me I'm going crazy ;)
> >
> >
> > You are modifying the list as you iterate over it. Instead, iterate over
> > a copy by using:
> >
> > for ip in ips[:]:
> > ...
> >
> > regards
> > Steve
>
> Very neat. That's a trick that everyone should know about. I vote it
> goes in Dr. Dobbs newsletter.
Once you know it, it's neat, and I use it sometimes. However, it's a
little too "magical" for my tastes; I'd rather be more explicit about
what's going on.
Peace
Bill Mill
bill.mill at gmail.com
> --
> http://mail.python.org/mailman/listinfo/python-list
>
More information about the Python-list
mailing list