提取最高的元素; python中出现次高的第二位

时间:2014-03-18 11:29:26

标签: python

我按照排序(降序)顺序在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的新手

1 个答案:

答案 0 :(得分:1)

您的代码无法正常工作,因为遍历Counter()对象只会返回,而不会返回(keyword, count)值的元组。

此处无需明确使用heapqCounter()对象将在您调用Counter.most_common() method 时为

actualKeywords = Counter(possibleKeywords).most_common(2)

这会为您提供一个包含两个(keyword, count)元组的列表。如果您希望只是关键字,请使用:

actualKeywords = [k for (k, c) in Counter(possibleKeywords).most_common(2)]