【问题标题】:Print details from nested dictionary从嵌套字典中打印详细信息
【发布时间】:2021-06-26 02:16:11
【问题描述】:
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 获取技术人员姓名

【问题讨论】:

    标签: python dictionary data-science data-analysis dictionary-comprehension


    【解决方案1】:

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

    所以,你的代码可以这样:

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

    【讨论】:

      【解决方案2】:
      for e1 in SM:
          if SM[e1]['status']=='WIP':
              print(e1)
      

      SM[e1] 将返回该值。技术人员是关键。

      【讨论】:

        【解决方案3】:

        这会奏效。这里的key和value分别是字典的key和value。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-02-24
          • 2017-10-03
          相关资源
          最近更新 更多