如何筛选JSON中食品行业企业并按价格倒序输出含名称的列表
解决方案
你只需要在原代码基础上增加行业过滤逻辑,同时保留企业名称字段即可,修改后的完整代码如下:
import json from pprint import pprint with open('firm_list.json', encoding='utf-8') as data_file: data = json.loads(data_file.read()) pprint("原始数据:") pprint(data) # 第一步:筛选食品行业的所有企业 food_firms = [item for item in data if item['industry'] == 'food'] # 第二步:按价格从高到低排序 sorted_food_firms = sorted(food_firms, key=lambda x: x['price'], reverse=True) # 第三步:输出结果,可自定义输出格式 print("食品行业企业(按价格降序排列):") for firm in sorted_food_firms: print(f"企业名称:{firm['name']},价格:{firm['price']}") # 如果只需要包含名称和价格的列表,也可以按如下方式生成 result_list = [(firm['name'], firm['price']) for firm in sorted_food_firms] print("名称+价格的列表:") pprint(result_list)
代码说明
- 过滤逻辑通过列表推导式实现,仅保留
industry字段值为food的条目,自动排除汽车行业等其他行业的企业 - 排序时使用
sorted的key参数指定按price字段排序,reverse=True实现降序 - 最终输出可以根据需求调整,既可以打印完整的企业字典,也可以仅提取名称和价格生成新的列表
内容的提问来源于stack exchange,提问作者Moly
相关产品推荐
相关产品推荐

