python - 您如何在字典中找到最常用的单词?
问题描述
我正在编写一个函数,该函数将字典作为参数并通过迭代字典返回其值最长的键。如果字典为空,它应该返回一个空字符串。如果位置列表最长的单词出现平局,则该函数可能会返回任何一个常用单词。
例如:
>>> {'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
所以不是返回“思想”,而是返回“鸡”。有没有人有什么建议?
解决方案
您只是忘记了更新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
推荐阅读
- flutter - 在dart语言中,类可以作为方法的参数吗?
- android - 是否可以将 DownloadManager.Request 限制为特定的服务器证书?
- java - java.lang.NumberFormatException 使用 parseInt
- node.js - 是否可以在单个机器人服务中使用多个 LUIS 应用程序?
- reactjs - 状态码:实时服务器上的 404,本地主机上的 200
- python - Scipy curve_fit 给出直线
- c++ - 覆盖 QDateTimeEdit
- mysql - MYSQL 5.7 中的选择和更新值
- javascript - 带有 HTML5 画布的三角形每个顶点的渐变
- java - 将 JavaFX 导出到可运行 jar 不起作用