【发布时间】:2021-06-21 06:14:05
【问题描述】:
我有一个需要解析的 txt 文件。我将文件作为列表读取,然后去除多余的空格。从那里我需要删除一行。它包含了 ” - - - - - - - - - - - -” 我试图摆脱它,但是当我尝试执行下面的代码时,它似乎无法正常工作。当我在 if 语句中打印出该行的值时,它会成功打印,但不会从列表中删除该元素。如果我最后删除它,它可以工作。我没有错吗?
with open("somefile.txt") as f:
output = f.readlines()
for i,line in enumerate(output):
if '-' in line:
#print("this is the line " + str(line) )
output.remove(line)
#output.pop(i)
continue
output[i] = (" ".join(line.split()))
output[i] = i.split(" ")[:2]
#output.pop(1)
#output.pop(2)
print(output)
【问题讨论】:
-
您正在尝试更改您正在迭代的同一个列表?听起来很危险,会出问题的。为什么不过滤呢? stackoverflow.com/questions/5640630/array-filter-in-python
-
@BojanKogoj 好收获
标签: python