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')
  • 相关阅读:
    看淘宝营销api 文档有感
    创业公司如何做好数据驱动的开发工作
    docker 常见错误总结
    从npm 角度理解 mvn 的 pom.xml
    best practices for designing web api
    我对自动化测试的一些认识
    Docker学习笔记
    Docker命令学习
    JVM学习笔记三:垃圾收集器与内存分配策略
    JVM学习笔记二:JVM参数
  • 原文地址:https://www.cnblogs.com/onenoteone/p/12441793.html
Copyright © 2011-2022 走看看