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

Python使用字典统计每个单词在其前方的出现次数问题求解

解题思路

你当前的逻辑只做了结果字典的初始化,缺少统计单词出现次数的核心逻辑。你需要额外新增一个字典,专门用来记录每个单词到当前位置为止的累计出现次数,具体实现步骤如下:

  • 拆分输入文本得到单词列表
  • 初始化两个字典:
    • result:键为单词索引,值为该位置单词在自身位置之前的出现次数,也就是你原本要实现的结果字典
    • word_count:键为单词内容,值为该单词到当前位置为止的累计出现次数
  • 遍历每个索引及对应的单词:
    1. 先取word_count中当前单词的计数,不存在则默认是0,将这个值存入result对应索引的位置
    2. 把word_count中当前单词的计数加1,供后续位置的同单词统计使用
  • 最后按索引顺序输出result的所有值,用空格分隔即可
完整实现代码
result = {}
word_count = {}
s = input()
word_list = s.split()

for idx, word in enumerate(word_list):
    # 读取当前单词之前的出现次数存入结果字典
    result[idx] = word_count.get(word, 0)
    # 更新当前单词的累计计数
    word_count[word] = word_count.get(word, 0) + 1

# 按要求格式输出结果
print(' '.join(map(str, result.values())))
测试验证

输入示例文本:

the block on the block on the block on the floor

运行代码后输出:

0 0 0 1 1 1 2 2 2 3 0

完全符合预期输出,且全程使用字典实现,满足题目要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:57:01