我有这样一个文件:
20024
20008
20044
20024
20015
20087
20024
20070
20001
我希望保持这些数字的顺序,但去掉重复的数字。只有独特的才应该留下来。我尝试为它使用一个集合,但它给了我不可散列类型的错误。如果我将它转换成一个列表来设置,它似乎不起作用。
labels=set()
with open("Y-labels.txt") as filer:
for line in filer:
labels.add(line.strip().split())
我怎样才能得到唯一的数字但又是有序的?
请您参考如下方法:
您可以使用 OrderedDict。这样做既 (1) 保持字段有序,(2) 比在检查值是否已不在列表中时迭代地将值一个一个地添加到列表中提供更好的复杂性。
from collections import OrderedDict
with open("Y-labels.txt") as filer:
labels = OrderedDict([(x.strip(),0) for x in filer])
print labels.keys()
