我按照排序(降序)顺序在python中收集了一些字符串。即。
({'word1':4, 'word2':3 ,'word3':3 'word4':2 'word5':1 ...})
我需要提取所有最高和最高的单词。第二高的发生次数。 这是我的代码片段:
actualKeyWords = heapq.nlargest(2, Counter(possibleKeyWords), key=lambda x:x[1]).
我是python pls help的新手
答案 0 :(得分:1)
您的代码无法正常工作,因为遍历Counter()
对象只会返回键,而不会返回(keyword, count)
值的元组。
此处无需明确使用heapq
,Counter()
对象将在您调用Counter.most_common()
method 时为做
actualKeywords = Counter(possibleKeywords).most_common(2)
这会为您提供一个包含两个(keyword, count)
元组的列表。如果您希望只是关键字,请使用:
actualKeywords = [k for (k, c) in Counter(possibleKeywords).most_common(2)]