Jin· 2022-09-26 11:20 采纳率: 66.7%
浏览 39
已结题

python中的遍历问题

python中的遍历问题
一个列表中有若干字典,想要获得此列表中所有字典中 值最大的那个键值对,列如:

lists = [{'E:\\Ocr_Script\\output\\0.jpg': 2.4812737855250466}, {'E:\\Ocr_Script\\output\\1.jpg': 2.4983475018536607}, {'E:\\Ocr_Script\\output\\10.jpg': 1.73854450704711}, {'E:\\Ocr_Script\\output\\11.jpg': 1.7360435522762336}]

该列表中值最大 (value=2.4983475018536607) 的字典为 {'E:\Ocr_Script\output\1.jpg': 2.4983475018536607},获取最大值的键为 key=E:\Ocr_Script\output\1.jpg 想要一种效率高又节省资源的方法?也许使用列表推导式的思路?

  • 写回答

3条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-09-26 12:43
    关注

    如果列表中的每个字典都只有一个键值对,就像你给出的例子那样,直接使用max函数就可以了

    print(*max(lists,key=lambda x:list(x.values())).keys())
    

    如果字典中还存在多个键值对,还需要对字典进行排序,也可以使用嵌套max

    print(max(max(lists,key=lambda x:max(x.values())).items(),key=lambda x:x[1])[0])
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月4日
  • 已采纳回答 9月26日
  • 创建了问题 9月26日