def print_matched_groups(extracted_combo_lst):
dst_dct = {}
for itm in extracted_combo_lst:
dst_dct.setdefault(itm, [])
if len(extracted_combo_lst) == 1: break
match_dct = {}
for i in range(len(extracted_combo_lst)):
if extracted_combo_lst[i] == itm: continue
dst = Levenshtein.ratio(itm, extracted_combo_lst[i])
match_dct[extracted_combo_lst[i]] = dst
sorted_match_lst = sorted(match_dct.items(), key = operator.itemgetter(1), reverse = True)
top_n = 2
dst_dct[itm] = [e[0] for e in sorted_match_lst[0:top_n]]
extracted_combo_lst.remove(itm)
for e in dst_dct[itm]:
extracted_combo_lst.remove(e)
for k, v in dst_dct.items():
print k, v
print
评论列表
文章目录