Python中文
首页
教程
问答
标签
搜索
登录
注册
有没有更好的方法来查找列表中最常见的单词(仅限于Python)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>考虑到这个问题的一个简单实现,我正在寻找一种在Python列表中查找最常见单词的显著更快的方法。作为Python访谈的一部分,我收到了这样的反馈:这个实现效率太低,基本上是失败的。后来,我尝试了许多我发现的算法,只有一些基于heapsearch的解决方案更快一些,但并不是非常快(当扩展到数千万个项目时,heapsearch大约快30%;对于像千这样的琐碎长度,它几乎是一样的;使用timeit)。在</p> <pre><code>def stupid(words): freqs = {} for w in words: freqs[w] = freqs.get(w, 0) + 1 return max(freqs, key=freqs.get) </code></pre> <p>因为这是一个简单的问题,而且我有一些经验(虽然我不是算法大师或竞争对手),我很惊讶。在</p> <p>当然,我想提高我的技能,学习解决问题的更好方法,所以你的意见将不胜感激。在</p> <p>重复状态的澄清:我的重点是找出是否真的有很多(渐进的)更好的解决方案,而其他类似的问题已经选择了一个不太好的答案。如果这还不足以使问题变得独特,当然,请关闭此问题。在</p> <p><strong>更新</strong></p> <p>谢谢大家的意见。关于面试的情况,我的印象是手写的搜索算法是被期待的(这可能会更有效一些)和/或评审员是从另一种语言的角度评估代码,有不同的常量因素。当然,每个人都可以有自己的标准。在</p> <p>对我来说,重要的是验证我是否完全没有头脑(我的印象是我不是),或者只是通常写不出最好的代码。仍然有可能存在更好的算法,但如果它在这里为社区隐藏几天,我对此很满意。在</p> <p>我选择了最有说服力的答案——这样做似乎公平,尽管不止一个人获得了有用的反馈。在</p> <p><strong>小更新</strong></p> <p>似乎使用defaultdict比使用“get”方法有明显的优势,即使它是静态别名。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<pre><code>from collections import Counter word_counter = Counter(words) </code></pre> <p><code>word_counter</code>是一个以单词为键、频率为值的字典,还有一个<code>most_common()</code>方法。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
2 回答
如何在乒乓球游戏中阻止球
10 回答
如何在乘法和模中不乘空间?
5 回答
如何在乘法和除以2个不同的数字之间进行交换?
7 回答
如何在也是数据一部分的单个字符上拆分大字符串
6 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
8 回答
如何在事件wxWidgets中传递自定义数据
9 回答
如何在事件中使用lambda i=i?
9 回答
如何在事件中心只接收最近的数据
3 回答
如何在事件发生之前保持云函数运行?
7 回答
如何在事件发生后使页面重定向到同一页面
4 回答
如何在事件回调之间保持python生成器的状态
7 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
8 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
4 回答
如何在事件处理程序中访问外部对象?
5 回答
如何在事件循环中将协程打包为正常函数?
9 回答
如何在事件循环之外运行协同程序?
9 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
6 回答
如何在事件文件中只保留一份摘要?
9 回答
如何在事件模板中添加事件
2 回答