string issue
rbt
rbt at athop1.ath.vt.edu
Fri Feb 4 14:43:30 EST 2005
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.
More information about the Python-list
mailing list