|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
手头有一堆字符串,里面可能因为含有空格或是其他特殊字符串等,导致部分本身相同的字符串,被识别为不同的字符串。
我网搜了下办法,自己写了代码,想进行查重处理。可是却报错了,求指点。。
代码如下:
- from difflib import SequenceMatcher as seq
- dict2 = {}
- n = 0
- for i in name:
- for j in name: #name是列表,我将字符串转成列表。考虑进行两两比较
- if (seq(None,i,j).ratio) > 0.5: #预先考虑重复率达到50%以上的,将其列出,归类到一起,再用肉眼检查是否重复。
- dict2[n] = []
- dict2[n].append(i)
- dict2[n].append(j)
- n +=1
- dict2
复制代码
报错内容: TypeError:'>' not supported between instances of 'method' and 'float'
第一个已经和后面的对比过了,第二个进行对比时,就不要再和第一个进行对比了。。
- from difflib import SequenceMatcher as seq
- dict2 = {}
- n = 0
- for i in name:
- for j in name[i+1:]: #name是列表,我将字符串转成列表。考虑进行两两比较
- if (seq(None,i,j).ratio()) > 0.5: #预先考虑重复率达到50%以上的,将其列出,归类到一起,再用肉眼检查是否重复。
- dict2[n] = []
- dict2[n].append(i)
- dict2[n].append(j)
- n +=1
- dict2
复制代码
|
|