Python列表迭代输出不符合预期

时间:2018-03-25 14:14:26

标签: python-2.7 list

我有一个名为testfile.txt的文本文件:

25/03/2018 00:00:00

我编写了一个python脚本来删除文件中的所有cat字:

admin>cat testfile.txt 
cat
cat
dog
rat
pig
cat

脚本输出如下:

admin$ cat test.py
f1=open("testfile.txt","r")

f=f1.readlines()
print(f)
print (type(f))
print(len(f))
for x in f:
    if x=="cat\n":
        f.remove(x)
        print(f)
print (f)
print(len(f))
f1.close()

问题是为什么还剩下一只“猫”。在for循环的第二次迭代中,它应该删除文件中的第二个“cat”但是它没有删除它?

连续两只猫[第1行,第2行]存在一些问题。

Python版本:admin$ python test.py ['cat\n', 'cat\n', 'dog\n', 'rat\n', 'pig\n', 'cat\n'] <type 'list'> 6 ['cat\n', 'dog\n', 'rat\n', 'pig\n', 'cat\n'] ['dog\n', 'rat\n', 'pig\n', 'cat\n'] ['dog\n', 'rat\n', 'pig\n', 'cat\n'] 4

0 个答案:

没有答案