# 编程实践:从文本统计到JSON解析的多任务实现


一、数据统计:文本频率与数学计算

1. 文本频率统计

在处理文本数据时,统计单词数量是最基础的统计任务。通过拆分文本并统计每个单词的出现次数,可实现信息压缩和数据处理的目标。

def count_words(text):
    words = text.split()
    return len(words)

# 示例
input_text = "hello world this is a test"
print("统计结果:", count_words(input_text))  # 输出:6

2. 数学计算:平均值与中位数

对于一组数字,计算平均值和中位数是常见的统计任务。Python通过内置的 sum()sorted() 函数实现基础计算。

def calculate_stats(numbers):
    sum_numbers = sum(numbers)
    sorted_numbers = sorted(numbers)
    median = sorted_numbers[len(sorted_numbers)//2]
    return sum_numbers, median

# 示例
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
avg, median = calculate_stats(numbers)
print("平均值:", avg, "中位数:", median)

3. 最大值与最小值

计算一组数值的最大和最小值是基础的数学任务,通过内置的 max()min() 函数实现。

def find_max_min(numbers):
    max_val = max(numbers)
    min_val = min(numbers)
    return max_val, min_val

# 示例
nums = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
max_val, min_val = find_max_min(nums)
print("最大值:", max_val, "最小值:", min_val)

4. JSON解析与数据结构转换

在处理复杂数据时,JSON对象的解析是关键任务。通过Python的 json 模块实现简单的数据转换。

import json

def parse_json(json_input):
    return json.loads(json_input)

# 示例
json_data = '{"name": "Alice", "age": 25}'
parsed_data = parse_json(json_data)
print("解析后的对象:", parsed_data)

二、核心实现与注意事项

实现过程

  1. 文本统计:使用 split() 方法拆分文本,统计所有单词。
  2. 数学计算:使用 sum()sorted() 实现平均值和中位数计算。
  3. JSON解析:通过 json 模块将 JSON 数据转换为 Python 对象。
  4. 数据结构转换:实现数据类型转换的简洁方法。

注意事项

  • 输入验证:确保输入数据格式符合预期,如空字符串或无效输入。
  • 性能优化:对于大数据集,考虑使用更高效的算法,如双指针法处理字符串。
  • 错误处理:在解析 JSON 时,处理可能的异常情况,如缺少括号。

三、总结与展望

通过实现文本统计、数学计算、JSON解析和数据结构转换等核心功能,我们不仅巩固了 Python 编程的基础能力,还展示了处理复杂数据时的灵活性。随着数据规模的扩大,编程实践需要不断拓展应用场景,从而提升综合能力。未来,我们可以进一步扩展任务边界,如处理更复杂的结构或实现更高级的数据结构转换。