• python max函数技巧


    max(*args, key=None): # 返回最大值
    max(iterable, *[, default=obj, key=func]) -> value
    max(arg1, arg2, *args, *[, key=func]) -> value

    初级技巧

    tmp = max(1,2,4)
    print(tmp)
    #可迭代对象
    a = [1, 2, 3, 4, 5, 6]
    tmp = max(a)
    print(tmp)

    中级技巧:key属性的使用

    key参数不为空时,就以key的函数对象为判断的标准。
    如果我们想找出一组数中绝对值最大的数,就可以配合lamda先进行处理,再找出最大值
    a = [-9, -8, 1, 3, -4, 6]
    tmp = max(a, key=lambda x: abs(x))
    print(tmp)

    高级技巧:找出字典中值最大的那组数据

    在对字典进行数据操作的时候,默认只会处理key,而不是value
    先使用zip把字典的keys和values翻转过来,再用max取出值最大的那组数据

    这个时候key是值,value是之前的key

    如果有一组商品,其名称和价格都存在一个字典中,可以用下面的方法快速找到价格最贵的那组商品:
    prices = {
        'A':123,
        'B':450.1,
        'C':12,
        'E':444,
    }
    # 在对字典进行数据操作的时候,默认只会处理key,而不是value
    # 先使用zip把字典的keys和values翻转过来,再用max取出值最大的那组数据
    max_prices = max(zip(prices.values(), prices.keys()))
    
    print(max_prices) 
    #这个时候key是值,value是之前的key
    # (450.1, 'B')

    当字典中的value相同的时候,才会比较key

    prices = {
        'A': 123,
        'B': 123,
    }
    max_prices = max(zip(prices.values(), prices.keys()))print(max_prices) # (123, 'B')
    min_prices = min(zip(prices.values(), prices.keys()))print(min_prices) # (123, 'A')
  • 相关阅读:
    sql 2008 r2
    js压缩反压缩
    .NET调用Java写的WebServices(可能会碰到的问题)
    ecshop
    Chrome插件
    Unity3d ShaderLab之WorldNormalVector
    Unity 3d中Shader是什么,可以吃吗?
    java,类的继承
    java,关于POJO,查阅资料
    java,编写一个汽车类
  • 原文地址:https://www.cnblogs.com/onenoteone/p/12441793.html
Copyright © 2020-2023  润新知