Python正则表达式没有给出预期的结果

TZH*_*ZHX 1 python for-loop list

尝试在python 2.5.4中的列表上进行正则表达式搜索 - 示例代码:

import re

list_in = ['heti_abcd_xyz_1234', 'heti_abcd_xyz', 'heti_abcd']

en = re.compile('abcd_xyz_1234$')

for item in list_in:
    if en.search(item) is None:
        list_in.remove(item)
print list_in
Run Code Online (Sandbox Code Playgroud)

结果然而我得到:

['heti_abcd_xyz_1234', 'heti_abcd']
Run Code Online (Sandbox Code Playgroud)

当我只期待第一个元素.

任何建议都非常感谢.

Fal*_*rri 7

您在迭代时修改列表.你不能这样做.