# 读取并统计数字频率的Python脚本


背景介绍

本脚本旨在实现一个简单的Python脚本功能,用于读取用户输入的数字列表,并统计其中每个数字的出现频率。该脚本在本地环境中运行,无需依赖外部服务。通过文件读写和数据处理的核心能力,该脚本在1~3天内可完成,具有较高的学习价值。

思路分析

  1. 输入处理:需要读取用户输入的数字列表。由于用户输入可能来自文件或标准输入,脚本可以采用以下方式读取:
    user_input = [int(line.strip()) for line in sys.stdin if line.strip()]
    

    该方法通过逐行读取标准输入,并过滤掉空行,确保输入的列表包含实际的数字。

  2. 频率统计:使用collections.Counter类直接统计每个数字的出现次数。此方法在Python中特别高效,且避免了手动遍历列表的复杂性。

  3. 输出结果:将统计结果以字典形式输出,便于进一步处理或展示。

代码实现

from collections import Counter

# 读取用户输入的数字列表
user_input = [int(line.strip()) for line in sys.stdin if line.strip()]

# 统计数字频率
freq = Counter(user_input)

# 输出结果
print(freq)

输出示例

{'1': 2, '2': 1, '3': 1, '5': 1, '8': 1, '10': 1}

总结

本脚本通过文件读写和数据处理的核心能力,实现了对数字频率的统计功能。整个过程涉及了Python的文件处理模块(sys.stdin)和数据统计操作(collections.Counter)。该脚本的结构清晰,易于理解和实现,适合中级以下开发者在1~3天内完成。通过本项目的实现,能够很好地理解文件读写与数据处理的核心概念。