zoukankan      html  css  js  c++  java
  • 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')
  • 相关阅读:
    SSM框架使用遇到的问题
    《深入浅出wpf》第四章 x名称空间详解
    《深入浅出wpf》第三章
    《深入浅出wpf》第二章
    《深入浅出wpf》第一章
    《深入浅出wpf》序
    opencv2411配置
    k均值
    qt新建类报无法解析外部符号(link错误)
    fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  • 原文地址:https://www.cnblogs.com/onenoteone/p/12441793.html
Copyright © 2011-2022 走看看