2016-03-15 112 views
0

我写这样的值到一个文件:如何从中删除重复项?

(u'fresh', 4.3557350075853982) 
(u'fresh', 6.6629604801359461) 
(u'focus', 6.4398169288217364) 


p= zip(vectorizer.get_feature_names(), idf)  #('object' , score) 
with codecs.open("scores.txt","a") as t: 
     for x in p: 
      if not x: 
       print>>t, x 

我所试图做的是被写入文件删除重复。所以我试图检查x是否已经存在,而不是再次写入。考虑到它是一个压缩组件,我该怎么做。

回答

0

尝试......

"""(u'fresh', 4.3557350075853982) 
(u'fresh', 6.6629604801359461) 
(u'focus', 6.4398169288217364)""" 


p= zip(vectorizer.get_feature_names(), idf)  #('object' , score) 
outputted = set() 
with codecs.open("scores.txt","a") as t: 
     for x in p: 
      if x[0] in outputted: continue 
      print>>t, x 
      outputted.add(x[0]) 

这是假设你想删除重复的只是“对象” - 如果你考虑重复的(对象,分数​​)对都完全一样,更换x[0] from x

本质上,这是在跟踪您已经输出的对象/分数,并且不会重新输出先前为对象输出的对象/分数。

+0

嗨,我尝试了两种方法,它似乎还没有删除重复的'新鲜' – minks