我有一個包含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