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

如何统计0-10范围内列表元素频率 未输入元素默认计0有序输出

实现方案

你提前初始化好0-10全键、默认值为0的字典已经完成了核心准备工作,不需要额外使用仅统计已出现值的频次工具,按以下逻辑就能完成需求:

  • 遍历存储所有输入的列表,每读到一个合法数字,就把字典中对应数字的计数值加1
  • 输出时不要直接遍历字典的键,固定按0到10的顺序取字典中对应键的值输出,既能保证顺序正确,也不会漏展示未输入过的数字
完整可运行代码
# 初始化存储输入的列表、0-10区间默认值为0的频数字典
input_records = []
frequency = {num: 0 for num in range(11)}

# 持续接收用户输入
while True:
    content = input()
    # 非数字输入时终止录入,可根据你的实际终止规则调整
    if not content.isdigit():
        break
    current_num = int(content)
    if 0 <= current_num <= 10:
        input_records.append(current_num)
    else:
        # 输入超出0-10范围时终止录入
        break

# 统计频次
for num in input_records:
    frequency[num] += 1

# 按固定顺序输出结果
for i in range(11):
    print(f"{i} - {frequency[i]}")
注意事项
  • 不用纠结网上找的那些只统计已输入值的频次代码,你提前初始化好全量默认0的字典,直接遍历输入累加计数是最适配需求的写法,不需要额外给未出现的数字补0值
  • 不建议直接用collections.Counter统计列表频次:Counter只会返回实际出现过的数字的统计结果,后续还需要手动补全未出现数字的0值,反而增加冗余步骤
  • 固定遍历range(11)取数输出是兼容性最好的方案,不受Python版本字典默认排序规则影响,100%保证输出顺序正确、覆盖0-10全区间

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:27:26