PythonJSON获取字典中的值,当你有嵌套字典中的键?

我终于开始学习Python,并完成了我的第一个Udemy课程,并开始了我的项目。我试着在论坛上搜索,但实在找不到直接的答案。

我有一个对员工数据库的JSON的API请求,简化后是这样的。

"Employees": {
"Arny Arnoldsen": {
    "Employee_ID" : "0001",
    "Title" : "Accounts Manager",
    "Address 1" : "Cheery road 3",
    "Address 2" : "Georgia"
    },

"Burt Burtsen": {
    "Employee_ID" : "0002",
    "Title" : "Sales Manager",
    "Address 1" : "Destiny street 23",
    "Address 2" : "Las Vegas"
    },
"Carl Carlsen": {
    "Employee_ID" : "0003",
    "Title" : "Operational Manager",
    "Address 1" : "Sunshine road 42",
    "Address 2" : "Miami"
    }
}

为了得到我的雇员名单,我只需要用… …

for employee in employees: 
  print(employee)

当我想用Employee_ID搜索一个员工时,我的第二个问题就出现了,因为GDPR等原因,我得不到任何名字,但可能有f.eks。因为GDPR等等等等,我没有得到任何名字,但可能有f.eks。”Employee_ID” 0002,我需要返回Burt Burtsen。

我可以在字典和列表中寻找 “向下”,但似乎无法找出如何做相反的事情。我希望这里有人能帮助我 🙂

解决方案:

一个简单的方法是。

d = {
    "Employees": {
        "Arny Arnoldsen": {
            "Employee_ID" : "0001",
            "Title" : "Accounts Manager",
            "Address 1" : "Cheery road 3",
            "Address 2" : "Georgia"
        },

        "Burt Burtsen": {
            "Employee_ID" : "0002",
            "Title" : "Sales Manager",
            "Address 1" : "Destiny street 23",
            "Address 2" : "Las Vegas"
        },
        "Carl Carlsen": {
            "Employee_ID" : "0003",
            "Title" : "Operational Manager",
            "Address 1" : "Sunshine road 42",
            "Address 2" : "Miami"
        }
    }
}

def find_emp(d, query):
    for k,v in d['Employees'].items():
        if v.get("Employee_ID") == query:
            return k

emp_name = find_emp(d, "0003")
# Carl Carlsen

演示

给TA打赏
共{{data.count}}人
人已打赏
未分类

按价格过滤,更改按钮标签

2022-9-9 9:43:19

未分类

如何改进这个List Comprehensions?

2022-9-9 9:43:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索