首页 > 解决方案 > 您如何在字典中找到最常用的单词?

问题描述

我正在编写一个函数,该函数将字典作为参数并通过迭代字典返回其值最长的键。如果字典为空,它应该返回一个空字符串。如果位置列表最长的单词出现平局,则该函数可能会返回任何一个常用单词。

例如:

>>> {'He': [0], 'thought': [1, 5, 6], 'it': [2], 'was': [3], 'chicken': [4]} 
Output: thought

它必须根据位置返回最常用的单词。

但是我想我明白了,但我写了一个返回最大值的函数:

def commonest(dct):
    max_length = 0
    for key, val in dct.items():
        if len(val) >= max_length:
            max_key = key
    return max_key

所以不是返回“思想”,而是返回“鸡”。有没有人有什么建议?

标签: pythonpython-3.x

解决方案


您只是忘记了更新max_length

def commonest(dct):
    max_length = 0
    for key, val in dct.items():
        if len(val) >= max_length:
            max_key = key
            max_length = len(val)
    return max_key

推荐阅读