Python 比较元组列表和聚类单词列表



我需要比较两种列表,如下所示。

单词列表及其频率

list_1=[('psicomotricita',6), ('psicomotorio',5) , ('psicomotorie',6),('psicomotore', 7),
        ('bella',1), ('biella',7), ('bello',3),('zorro',4)]
列表

列表,其中每个子列表都是一个单词的相似性。

list_2=[['psicomotricità', 'psicomotorio','psicomotorie','psicomotore']
        ['bella', 'biella', 'bello']
        ['zorro']]

因此,我需要循环list_2的每个子列表,以便选取在list_1中与最大频率进行比较的单词。

结果应该是:

final_list['psicomotore','biella','zorro'] 

有人可以帮助我吗?谢谢!

经过长时间的斗争(我是python的新新手(,我解决了上面的问题。

所以,首先我将元组列表转换为字典:

d = {t[0]:int(t[1]) for t in list_1}

其次,我创建了以下函数:

def SortTuples(list, dict):
final_ls= []
ddd= []
for el in list_2:
    for key, value in d.iteritems():
        if key in el:
            ddd.append((key,value))
    z= (max(ddd,key=itemgetter(1))[0])
    final_ls.append(z)
    ddd= []
return final_ls

结果是一个列表,其中包含具有最大频率的单词:

Out: ['psicomotore', 'biella', 'zorro'] 

最新更新