You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将统计单词出现次数的Python循环代码转为字典推导式?

用字典推导式实现单词计数

当然可以用字典推导式改写这段代码,但要注意效率差异。

最简单的写法是结合列表的count()方法:

st_dict = {word: words.count(word) for word in set(words)}

这里先用set(words)对单词去重,避免同一个单词重复调用count()——如果直接遍历原始words列表,每个重复出现的单词都会重新统计一遍,效率会大幅下降。

不过要明确:这种字典推导式写法的时间复杂度是O(n²),因为每个count()都会完整遍历一次列表。而你原来的循环写法是O(n),效率更高。如果你的单词列表数据量较大,更推荐用collections模块里的Counter,一行就能高效搞定:

from collections import Counter
st_dict = Counter(words)

但如果一定要用字典推导式,上面的写法就能满足你的需求。

内容的提问来源于stack exchange,提问作者Tam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:15:44