zoukankan      html  css  js  c++  java
  • Python中max()内置函数使用(list)

    在学习完列表和元组的基础知识后,做到一个题:

    求出列表中频次出现最多的元素。

    学习到了python内置函数max的用法 其参数key的用法 匿名函数lamda的用法

     

    python内置函数max()

    max()方法返回给定参数的最大值,参数值可为序列。

    1 print ("max(80, 100, 1000) : ", max(80, 100, 1000))
    2 print ("max(-20, 100, 400) : ", max(-20, 100, 400))
    3 print ("max(-80, -20, -10) : ", max(-80, -20, -10))
    4 print ("max(0, 100, -400) : ", max(0, 100, -400))

    输出为:

    1 max(80, 100, 1000) :  1000
    2 max(-20, 100, 400) :  400
    3 max(-80, -20, -10) :  -10
    4 max(0, 100, -400) :  100

    key参数

    key参数的解释:

    key(optional): key function where each argument is passed, and comparison is performed baased on its return value

    简而言之,就是key中传递的是一个参数,此时max会根据每个传入参数后的返回值进行比较。返回值为key中的参数值

    以字典为例:

    1 #the key whose value is the largest
    2 square = {2: 4, -3: 9, -1: 1, -2: 4}
    3 key2 = max(square, key = lamda k: square[k])
    4 print("The key with the largest value: ",key2) #-3
    5 print("The largest value: ",square[key2])#9

    关于lambda:匿名函数

    lambda arguments: expression

    1 # Python code to illustrate cube of a number  
    2 # showing difference between def() and lambda(). 
    3 def cube(y): 
    4     return y*y*y; 
    5   
    6 g = lambda x: x*x*x 
    7 print(g(7))    #343
    8   
    9 print(cube(7)) #343
    • 不使用lambda:在这里,都是返回的立方值。但在使用def,我们需要定义一个函数名称,需要传递一个值。执行之后,我们还需要返回结果的函数并使用使用return关键字。
    • 使用lambda:lambda定义不包括return,它总是返回包含一个表达式。我们也可以把一个lambda定义一个函数时预计在任何地方,我们不必把它赋值给一个变量。这是lambda函数的简单性。

    实现代码:求列表中频次出现最多的元素

     1 def mode(lst):
     2     if lst is None or len(lst) == 0:
     3         return None
     4     return max(lst, key = lambda k: lst.count(k))
     5 
     6 #调用mode
     7 lst = [1, 3, 3, 2, 1, 1, 2]
     8 r = mode(lst)
     9 print(r)
    10 #output : 1     
  • 相关阅读:
    UVA 10970 Big Chocolate
    HBuilder 安装uviewui2.0
    域名访问配置支持ipv6
    SSIS学习视频(SQL Server 2008)
    碰到MySQL无法启动1067错误问题
    对存储过程进行加密和解密(SQL 2008/SQL 2012)
    脚本文件比较工具WinMerge
    通过SQL绘制杨辉三角
    通用分页存储过程(SQL Server 2005)
    重新组织和重新生成索引sp_RefreshIndex
  • 原文地址:https://www.cnblogs.com/yzh1008/p/12419454.html
Copyright © 2011-2022 走看看