我有一个包含IP地址和DNS名称的字符串列表,我希望删除以“10”开头的值。只要。样本数据如下:从列表中删除字符串
['www.example.com','1.2.3.4','4.3.2.1','example.net','10.1.1.10','10.1.1.11',...]
我想这将是简单的,并开始与以下:
for v in address:
test = re.match('(^\d+\.)',v)
if test:
if test.group(1) == '10.':
address.remove(v)
的“10”。尽管我没有收到任何错误(并且使用“print address.remove(v)”做了一些t-射击,导致每个“10.”地址的“无”),但是我并没有删除地址。让我相信这个正则表达式是错误,但它似乎工作,而不是在这种能力
所以我戳了re.purge() - 这并没有帮助,但不认为这是我的问题的一个因素。解决[...]无济于事。
我在哪里出了错?
非常感谢您的关注。
当我测试你的代码,含有10.1的首地址被删除,而不是其他的。 – 2012-01-06 04:57:28
[从列表中移除项目 - 在迭代过程中 - 此成语有什么问题?](http://stackoverflow.com/questions/2896752/removing-item-from-list-during-iteration-whats-wrong-with -this-idiom) – 2012-01-06 05:05:00