首页 > 解决方案 > 为什么代码不适用于 Python 字典

问题描述

我在下面有一本字典。我需要打印获得第一名的年份和姓名

 ranklist = { 2000 : {1: ' Sara'  , 3 : 'Saj' , 2 : 'Pap' } , 
          2001 : {2: ' Sara'  , 1 : 'Saj' , 2 : 'Pap' } ,
          2002 : {3: ' Sara'  , 2 : 'Saj' , 1 : 'Pap' } ,
         }


a=[]
for year in ranklist:   
    out = {i: [] for i in ranklist}
    for rank in ranklist[year] :
        if rank == 1:
            #a.append(ranklist[year][rank])    
            out[year] = a.append(ranklist[year][rank])

出去

{2000: [], 2001: [], 2002: None}

预计出局

{2000: 'Sara', 2001: Saj, 2002: 'Pap'}

标签: pythondictionary

解决方案


这应该解决它:

result = {k: v.get(1) for k, v in ranklist.items()}

推荐阅读