python用字典统计单词出现次数_python - 如何使用字典理解来计算文档中每个单词的出现次数...

这篇博客探讨了如何使用Python的字典理解和collections.Counter来统计文档中每个单词的出现次数。通过示例代码,解释了错误的字典理解语法,并提供了正确的解决方案,包括直接使用Counter更新和结合itertools.chain.from_iterable的方法。
摘要由CSDN通过智能技术生成

我有一个用python编写的列表,其中充满了文本。就像每个文档中的固定单词。所以对于每个文档,我都有一个列表,然后在列表中列出所有文档。

所有列表只包含唯一的单词。我的目的是计算完整文档中每个单词的出现次数。我可以使用以下代码成功完成此操作:for x in texts_list:

for l in x:

if l in term_appearance:

term_appearance[l] += 1

else:

term_appearance[l] = 1

但我想用字典理解来做同样的事情。这是我第一次尝试编写字典理解,并使用StackOverflow中以前的现有文章,我能够编写以下内容:

from collections import defaultdict

term_appearance = defaultdict(int)

{ {term_appearance[l] : term_appearance[l] + 1 if l else term_appearance[l] : 1 for l in x} for x in texts_list}

上一篇参考文章:

Simple syntax error in Python if else dict comprehension

如上所述,我还使用了以下代码:

{ {l : term_appearance[l] + 1 if l else 1 for l in x} for x in texts_list}

上面的代码成功地生成了空列表,但最终抛出了以下跟踪:

[]

[]

[]

可以使用Python的`split()`函数和字典(dictionary)来计算某个单词出现次数。具体步骤如下: 1. 定义一个空字典,用于记录单词出现次数。 2. 输入一段字符串,使用`split()`函数将其分割成单词列表。 3. 遍历单词列表,对于每个单词,如果它已经在字典出现过,则将其对应的值加1,否则将其添加到字典,并将其对应的值初始化为1。 4. 输出目标单词字典的值,即为其出现次数。 下面是示例代码: ```python word_count = {} input_str = input("请输入一段文字:") word_list = input_str.split() # 使用split()函数将输入的字符串分割成单词列表 for word in word_list: if word in word_count: word_count[word] += 1 else: word_count[word] = 1 target_word = input("请输入要查询的单词:") if target_word in word_count: print(target_word, "出现了", word_count[target_word], "次。") else: print(target_word, "没有出现过。") ``` 在上述代码,我们首先定义了一个空字典`word_count`,然后使用`input()`函数获取用户输入的一段字符串,并使用`split()`函数将其分割成单词列表。接下来,我们对单词列表进行遍历,如果单词已经在字典出现过,则将其对应的值加1,否则将其添加到字典,并将其对应的值初始化为1。最后,我们输入要查询的单词,并判断其是否在字典出现过,如果出现过,则输出其出现次数,否则输出其没有出现过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值