• python找出字典中value最大值的几种方法


    假设定义一字典,m = {"a":3,"e":6,"b":2,"g":7,"f":7,"c":1,"d":5},在不知道key的情况下如何找出字典中value最大的所有key-value对?下面讨论几种方法。

    1)通过m.values()和max()函数

    第一步,通过max()函数找到字典中的value最大值。

    1 max(m.values())

    结果为7

    第二步,再通过value=7遍历字典找出所有value=7的键值对。

    for key,value in m.items():
        if(value == max(m.values())):
            print key,value

    2)通过sort()函数排序所有的value

    1 values = m.values()
    2 values.sort()
    3 print values[len(values)-1]

    结果同样为7,其余步骤通1)中的第二步

    3)通过map()函数

    keys = m.keys()
    keys.sort()
    ma=map(m.get,keys)
    print ma[len(ma) - 1]

    4)通过sort()函数排序所有的items

    1 # print m.items()
    2 items = m.items()
    3 items.sort(key=lambda x:x[1])
    4 print items[len(items) - 1]

    5)通过max()函数指定key函数

    # print m.items()
    print max(m.items(),key=lambda x:x[1])

    6)通过zip()和max()函数

    1 print m.keys()
    2 print m.values()
    3 print zip(m.values(),m.keys()) 
    4 print max(zip(m.values(),m.keys()))

    7)通过sorted()函数

    1 print sorted(m.items(), key=lambda x: x[1])
    2 print sorted(m.items(),key=lambda x:x[1])[len(sorted(m.items(),key=lambda x:x[1])) - 1]

    另外,sorted(m, reverse=True)等价于list(reversed(sorted(reversed(m))))。

  • 相关阅读:
    Revit命令之平面区域
    Revit平面视图控制
    电动手摇两用风机Revit族模型
    中田麻吉
    传递项目标准工具
    Sketchup机电专业BIM插件EngeeringToolBox
    机电专业协同模式
    lumion2.5下载及破解安装详细过程
    人防工程空调设计规范
    BIM软件之BIMsight
  • 原文地址:https://www.cnblogs.com/muchengnanfeng/p/9810918.html
Copyright © 2020-2023  润新知