原来的代码段:

a = ['5654', 'pts/0', 'sl+', '61:01', '|', '|', '\\_', 'L2L3_protocol_0_3_1_0', '410']
for i in range(0,len(a)):
    if bool(re.search('\\|',a[i])):
        a.remove("|")

由于|分隔符是特殊字符,需要加‘\’进行转义,但  \  也是特殊字符 ,所以需要加两个  \  进行转义。

不能在单次循环里面进行list 的remove 操作,因为执行for语句是,获取的list 的长度是它一开始的长度,循环中删除一个元素后,list变短,执行到后面就会报错out of range

下面是改正之后的代码段:

a = ['5654', 'pts/0', 'sl+', '61:01', '|', '|', '\\_', 'L2L3_protocol_0_3_1_0', '410']
j=0
for i in range(0,len(a)):
    b = a[i]
    if bool(re.search('\\|',a[i])):
        j += 1
for i in range(0,j):
    a.remove("|")