f = open('df.txt','r')
l = f.readlines()
for x in l:
print(x)
for n in l:
if x == n:
l.remove(n)
我想创建一个列表,按顺序打印变量,如果有则从列表中删除相同的变量。 例: 一 二 三 一 四 1-必须打印“一个”,然后从列表中删除[0]和[3]。
但是我运行时会跳过变量。
答案 0 :(得分:1)
最好不要在迭代过程中更改列表的长度,因此将想要的内容追加到新列表中,然后跳过不需要的内容
mylist = []
f = open('df.txt','r')
l = f.readlines()
for x in l:
print(x)
for n in l:
if x != n:
mylist.append(x)
答案 1 :(得分:0)
最新版本的Python具有保留其插入顺序的Dict实现,因此您还可以编写:
lines = 'one two three one four'.split(' ')
list(dict((l, None) for l in lines))
输出:
['one', 'two', 'three', 'four']