我有这个清单:
lista = [([('autorità', 'S'), ('competente', 'A')], 580.0), ([('legislazione', 'S'), ('nazionale', 'A')], 313.0), ([('età', 'S'), ('minima', 'A')], 130.0), ([('prassi', 'S'), ('nazionale', 'A')], 121.0), ([('autorità', 'S'), ('competenti', 'A')], 116.0), ([('revisione', 'S'), ('totale', 'A')], 112.0), ([('lavoro', 'S'), ('forzato', 'A')], 110.0), ([('cure', 'S'), ('mediche', 'A')], 94.0), ([('paragrafo', 'S'), ('precedente', 'A')], 92.0), ([('proposte', 'S'), ('relative', 'A')], 79.0), ([('formazione', 'S'), ('professionale', 'A')], 76.0), ([('organizzazioni', 'S'), ('rappresentative', 'A')], 76.0), ([('lavoratori', 'S'), ('interessati', 'A')], 74.0), ([('convenzione', 'S'), ('internazionale', 'A')], 71.0)]
为每个单词的二元组分配一个分数,列表中的项目按其分数排序。
如何获得列表中具有最大值的前5个项目?
答案 0 :(得分:0)
max_ngrams, max_value = ([('autorità', 'S'), ('competente', 'A')], 580.0)
所以
max_value = 580.0
没有其他的二重奏得分高,所以你只能得到这个
是正常的答案 1 :(得分:0)
我认为你正在寻找这样的东西:
lista = [([('autorità', 'S'), ('competente', 'A')], 580.0), ([('legislazione', 'S'), ('nazionale', 'A')], 313.0), ([('età', 'S'), ('minima', 'A')], 130.0), ([('prassi', 'S'), ('nazionale', 'A')], 121.0), ([('autorità', 'S'), ('competenti', 'A')], 116.0), ([('revisione', 'S'), ('totale', 'A')], 112.0), ([('lavoro', 'S'), ('forzato', 'A')], 110.0), ([('cure', 'S'), ('mediche', 'A')], 94.0), ([('paragrafo', 'S'), ('precedente', 'A')], 92.0), ([('proposte', 'S'), ('relative', 'A')], 79.0), ([('formazione', 'S'), ('professionale', 'A')], 76.0), ([('organizzazioni', 'S'), ('rappresentative', 'A')], 76.0), ([('lavoratori', 'S'), ('interessati', 'A')], 74.0), ([('convenzione', 'S'), ('internazionale', 'A')], 71.0)]
max_value = 0
count = 0
for index,value in enumerate(lista):
if value[1]> max_value:
max_value = value[1]
count = index
print lista[count]
答案 2 :(得分:0)
您的列表已按降序排序。所以只需将列表切片以获得前五名:
>>> lista[:5]
[([('autorit\xc3\xa0', 'S'), ('competente', 'A')], 580.0), ([('legislazione', 'S'), ('nazionale', 'A')], 313.0), ([('et\xc3\xa0', 'S'), ('minima', 'A')], 130.0), ([('prassi', 'S'), ('nazionale', 'A')], 121.0), ([('autorit\xc3\xa0', 'S'), ('competenti', 'A')], 116.0)]
如果你想要他们没有得分:
>>> [x[0] for x in lista[:5]]
[[('autorit\xc3\xa0', 'S'), ('competente', 'A')], [('legislazione', 'S'), ('nazionale', 'A')], [('et\xc3\xa0', 'S'), ('minima', 'A')], [('prassi', 'S'), ('nazionale', 'A')], [('autorit\xc3\xa0', 'S'), ('competenti', 'A')]]