Skip to main content
 首页 » 编程设计

python之在python中获取文件的唯一值

2025年05月04日14bhlsheji

我有这样一个文件:

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()