我有很多包含字典的列表,如下所示:
a = [{'health': {'medical_emergency': 1.0}},{'scitech': {'technology': 1.0,'computer': 1.0,'programming': 1.0}}]
b = [{'politics': {'government': 1.0}},{'travel': {'vacation': 1.0,'traveling': 1.0,'tourism': 1.0}},{'finance': {'business': 1.0}}]
c = [{'sports': {'sports': 2.0}},{'health': {'exercise': 1.0}}]
结构为{class: {keyword: number_of_times_the_keyword_occur}}
它们的长度不同。如何获得得分最高的班级或频率值最高的班级?
例如,
在a:它应该返回scitech,因为它在scitech中具有三个关键字(技术,计算机,编程),而健康只有一个关键字。
在b中:它应该返回行程,原因与情况a相同。在c中:它应该返回运动,因为在运动类中,关键字“运动”出现两次,而在健康类中,关键字(运动)只出现一次
这是我尝试过的:
import operator
for i in range(len(a)):
print(max(a[i].items(),key=operator.itemgetter(1))[0])
但是它只会返回所有密钥。