python - 为什么代码不适用于 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'}
解决方案
这应该解决它:
result = {k: v.get(1) for k, v in ranklist.items()}
推荐阅读
- ios - 使用 AVAssetDownloadDelegate 检测用户取消下载的正确方法
- javascript - Vue 根据 Prop 值设置方法名?
- excel - VBA:如何通过工作表模块中的“填写”或“复制/粘贴”(或任何多个单元格)定位正在编辑的范围
- linux - perl 脚本未在配置相同的三个虚拟主机中执行
- bash - Postresql 通过 shell 脚本删除单个表
- spring-boot - 消费者多次消费同一条消息
- java - 如何创建自动更新通知,显示文件复制进度而没有滞后?
- reactjs - 为什么在更改 redux 商店中的任何内容时页面会全部闪烁绿色(在 react Rendering chrome addon 中)
- c - 使用 malloc 更快地耗尽内存的递归函数
- loops - 试图抓取到下一个网页