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

Python循环统计列表'to'出现次数逐个输出1,如何得到总计数4?

问题根因

代码存在两处逻辑错误,导致逐次输出独立的1、无法得到总计数:

  • 匹配到目标单词to时,未更新计数变量word_count的数值,每次打印计算的都是0+1,因此单次输出永远是1
  • 打印语句放在for循环内部,每匹配到一次目标词就触发一次打印,因此会输出4个零散的1,无法输出汇总结果
修正方法

在判断匹配到目标词的分支内先完成计数累加,等整个循环遍历完所有列表元素后,再在循环外部打印最终统计值即可。
修正后的可运行代码:

words = ['to', 'split;', 'bill', 'to', 'lint', 'to', 'leads', 'to', 'suffer']
print(words)
word_count = 0
    
for target_word in words:
    if target_word == 'to':
       # 命中目标词时累加计数,循环内不执行打印
       word_count += 1

# 全量遍历完成后输出最终总计数
print(word_count)

运行输出:

['to', 'split;', 'bill', 'to', 'lint', 'to', 'leads', 'to', 'suffer']
4

最终word_count的取值为4,符合预期。如果不需要手动实现循环统计逻辑,也可以直接调用Python列表内置的count()方法快速得到结果:word_count = words.count('to'),统计效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:57:11