(Используя Python 3.4.3) Вот что я хочу сделать: у меня есть словарь, где ключами являются строки, а значениями являются количество раз, когда эта строка встречается в файле. Мне нужно вывести, какие строки встречаются с наибольшей частотой, а также их частоты (если есть ничья для наиболее частых, выведите все наиболее частые).
Я пытался использовать OrderedDict. Я могу создать его нормально, но я изо всех сил пытаюсь заставить его выводить именно наиболее часто встречающиеся. Я могу продолжать попытки, но я не уверен, что OrderedDict действительно то, что мне следует использовать, поскольку мне никогда не понадобится фактический OrderedDict после того, как я определил и вывел наиболее частые строки и их частоту. Однокурсник порекомендовал упорядоченный список, но я не понимаю, как сохранить связь между ключами и значениями в том виде, в каком они у меня есть.
Является ли OrderedDict лучшим инструментом для выполнения того, что я ищу, или есть что-то еще? Если это так, есть ли способ отфильтровать/нарезать (или эквивалентно) OrderedDict?
dict
при сборе данных, затем вы помещаете данные (частота, пары ключей) в список и сортируете их. - person skyking   schedule 27.08.2015collections.Counter
, а не.OrderedDict
. Тогда вы можете просто использовать методmost_common
. - person jonrsharpe   schedule 27.08.2015