从嵌套字典中打印详细信息

Print details from nested dictionary

SM={'Technician A':{'Ticket ID':1,'Start date':'14-03-2020','End date':'25-03-2020',' location':'Area 1','status':'Delivered'},
      'Technician B':{'Ticket ID':2,'Start date':'14-03-2020','End date':'25-03-2020',' location':'Area 3','status':'WIP'},
      'Technician C':{'Ticket ID':3,'Start date':'14-03-2020','End date':'25-03-2020',' location':'Area 2','status':'WIP'},
      'Technician D':{'Ticket ID':4,'Start date':'14-03-2020','End date':'25-03-2020',' location':'Area 7','status':'Delivered'},
     'Technician E':{'Ticket ID':5,'Start date':'14-03-2020','End date':'25-03-2020',' location':'Area 8','status':'Delivered'},
     'Technician F':{'Ticket ID':6,'Start date':'14-03-2020','End date':'25-03-2020',' location':'Area 9','status':'Delivered'}}

来自 SM 字典我想打印所有状态为 WIP 的详细信息,技术人员姓名为技术人员 A,技术人员 B......

我试过下面的代码但没有得到技术人员姓名:

for e1 in SM:
    if SM[e1]['status']=='WIP':
         print(SM[e1])

请告诉我上面的代码有什么问题,或者任何其他方法来获得我想要的结果——从 SM 中获取技术人员姓名

这里,e1是技术人员姓名。

所以,您的代码可以像这样:

for e1 in SM: 
    if SM[e1]['status']=='WIP': 
        print(SM[e1])
        print(e1)
for e1 in SM:
    if SM[e1]['status']=='WIP':
        print(e1)

SM[e1] 会 return 值。技术人员是关键

这行得通。这里key和value分别是字典的键和值。

for key, values in SM.items():
    if SM[key]['status'] == 'WIP':
        print(key)