背景介绍
本项目面向中级开发者,要求实现过滤和排序功能。通过读取JSON数据,处理后将返回符合条件的用户信息列表。核心功能包括过滤(email不为空)和排序(按name升序排列),要求实现清晰的代码结构与可运行性。
思路分析
- 数据读取:使用Python的
json模块读取输入JSON文件,保持数据结构不变。 - 过滤逻辑:通过条件判断过滤符合条件的用户,将email字段不为空的用户保留。
- 排序算法:使用Python内置的
sorted函数,将用户信息按name升序排列。 - 输出格式:确保输出结果为JSON数组格式,不包含额外内容。
代码实现
import json
def process_users(json_data):
# 读取JSON数据
users = json_data['users']
# 过滤符合条件的用户
filtered_users = [user for user in users if user['email'] != '']
# 排序功能
sorted_users = sorted(filtered_users, key=lambda x: x['name'])
return sorted_users
# 示例使用
if __name__ == "__main__":
input_json = '''
{
"users": [
{"name": "Alice", "email": "alice@example.com"},
{"name": "Bob", "email": "bob@example.com"}
]
}
'''
result = process_users(json_data=json_data)
# 输出结果
print("处理后结果为:")
print(json.dumps(result, indent=4))
学习价值
本项目涵盖了文件读写与数据处理的核心知识点,包括:
- 文件读写:使用Python的
json模块读取JSON数据并处理。 - 常见数据结构:通过列表处理用户信息。
- 排序算法:使用Python内置的排序函数实现升序排列。
总结
本项目通过Python脚本实现JSON数据的过滤和排序功能,展示了数据处理的基本流程。项目可独立运行,约1~3天完成开发,适用于中级及以上开发者的学习需求。