Python中可用List.remove(item)来去除列表List中的指定元素item,但我用它来去除列表中的所有代表换行的元素时,却发现没有去除干净。
案例见下:
L = ['\n', '\n', '\n', '\n', '\n', '\u3000\u3000上卷 第二十七回\u3000尸魔三戏唐三藏\u3000圣僧恨逐美猴王\n', '\u3000\u3000本章字数:7334\n', '\n']
for item in L:
if item == '\n':
L.remove(item)
print(L)
运行结果为:
['\n',
'\u3000\u3000上卷 第二十七回\u3000尸魔三戏唐三藏\u3000圣僧恨逐美猴王\n',
'\u3000\u3000本章字数:7334\n',
'\n']
可知,并非列表中的所有空行都被去除。
同理,在下面两个例子中也是这样
case 1:
L = ['\n', '\n', '\n', '\n', '\n','\n']
for item in L:
if item == '\n':
L.remove(item)
print(L.index(item))
print(L)
输出结果如下:
0
0
0
['\n', '\n', '\n']
case 2:
L = [0, 1, 2, 3, 4, 5, 6]
i = 0
for item in L:
if item == i:
L.remove(item)
i += 1
print(L)
输出结果如下:
[1, 2, 3, 4, 5, 6]
我理解应该一下子把所有符合条件的元素都remove掉,但是实际结果并非如此,路过的大神能否帮忙解答。感谢!