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

Python如何从嵌套字典提取类查询结果 筛选销售额超5万员工

提取嵌套员工字典中销售额超50000的信息实现方案

你存储的Sales字段是字符串格式,直接做数值比较会触发字符串比对逻辑,得到错误结果,比较前必须先转为数值类型。

基础遍历实现(可读性最高)

直接遍历Employee键下的所有员工条目,逐行做判断筛选:

emp_details = {
    'Employee': {
        'jim': {'ID':'001', 'Sales':'75000', 'Title': 'Lead'}, 
        'eva': {'ID':'002', 'Sales': '50000', 'Title': 'Associate'}, 
        'tony': {'ID':'003', 'Sales': '150000', 'Title': 'Manager'}
    }
}

# 存储符合条件的员工
result = {}
for emp_name, emp_data in emp_details['Employee'].items():
    # 销售额转整数后比较
    if int(emp_data['Sales']) > 50000:
        result[emp_name] = emp_data

print(result)

运行输出:

{'jim': {'ID': '001', 'Sales': '75000', 'Title': 'Lead'}, 'tony': {'ID': '003', 'Sales': '150000', 'Title': 'Manager'}}

简洁字典推导式实现

如果想要更精简的代码,可以直接用字典推导式完成筛选:

result = {
    name: data 
    for name, data in emp_details['Employee'].items()
    if int(data['Sales']) > 50000
}

补充说明

  • 如果你的销售额可能存在小数(比如75000.5),把类型转换的int()替换为float()即可
  • 如果需要把销售额等于50000的员工也纳入结果,把比较运算符>替换为>=即可,当前样例中eva的销售额刚好为50000,默认不会被筛选出来

内容的提问来源于stack exchange,提问作者Tony R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:09:25