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     

原文地址:https://www.cnblogs.com/yzh1008/p/12419454.html

时间: 2024-11-09 02:56:28

Python中max()内置函数使用(list)的相关文章

python中的内置函数getattr()

在python的官方文档中:getattr()的解释如下: getattr(object, name[, default]) Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object’s attributes, the result is the value of that attribute. For examp

Python中常用内置函数介绍(filter,map,reduce,apply,zip)

Python是一门很简洁,很优雅的语言,其很多内置函数结合起来使用,可以使用很少的代码来实现很多复杂的功能,如果同样的功能要让C/C++/Java来实现的话,可能会头大,其实Python是将复杂的数据结构隐藏在内置函数中,只要写出自己的业务逻辑Python会自动得出你想要的结果.这方面的内置函数主要有,filter,map,reduce,apply,结合匿名函数,列表解析一起使用,功能更加强大.使用内置函数最显而易见的好处是: 1. 速度快,使用内置函数,比普通的PYTHON实现,速度要快一倍左

Python中的内置函数__init__()的理解

有点意思,本来我是学习java的.总所周知,java也有构造函数,而python在面向对象的概念中,也有构造函数.它就是 __init__(self) 方法. 其实类似于__init__()这种方法,其实还有很多.类似__del__(self)  ...  __new__(cls,*args,**kwd) 等等.它们被成为 python的常用内置方法. 下面开始介绍一下我对 __init__()的理解: class A(object): def __init__(self,name):  sel

python中的内置函数getattr()介绍及示例

在python的官方文档中:getattr()的解释如下: ? 1 2 3 getattr(object, name[, default]) Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object's attributes, the result is the value of that attribute. F

python中常用内置函数用法总结

强制类型转换:int()float()str()list()tuple()set()dict()总结,这几种类型转换函数得用法基本一致,基本就是int(要转换得数据).返回值类型为对应得数据类型 max():求多个参数的最大值,或可迭代对象中的最大元素min():最小值sum():求和,可迭代对象元素求和pow():求幂,pow(2, 3)等价于2 ** 3round():四舍五入,可以指定保留位数 hex():16进制oct():8进制bin():2进制 print:打印,输出input:输入

python中的内置函数(bytearray)

返回一个新的字节数组.bytearray类是range 0 < = x < 256的一个可变序列.它有大多数可变序列的常用方法,在可变序列类型中描述,以及大多数字节类型的方法,参见字节和Bytearray操作. 可选的源参数可以用几种不同的方式来初始化数组: 如果它是一个字符串,那么您还必须给出编码(以及可选的错误)参数;bytearray()然后使用str.encode()将字符串转换为字节. 如果它是一个整数,那么数组将具有这个大小,并将用null字节初始化. 如果它是符合缓冲区接口的对象

python 中的内置函数

1.输出函数 print() 1 print("hello world!") 2.输入函数 input() 1 a = input() 2 hello world 3 print (a) 3.chr()函数 该函数返回整形参数值所对应的Unicode字符的字符串 1 print(chr(916)) 2 print([chr(i) for i in range(870,8719)]) 4.ord()函数 返回单个字符的ASCⅡ值或者unicode 的值 1 print((功)) 2 pr

python中的内置函数

abs(number):取绝对值 1 re=abs(-342) 2 print(re) 3 #输出:342 all(iterable):判断可迭代的对象的元素是否都是真,如果是返回True 否则返回false ; 0,none,空 都是假 li=[12,43,23,] re=all(li) print(re) #输出:True li=[12,43,23,0] re=all(li) print(re) #输出:False bin(number):将number转换成二进制的数并返回 re=bin(

python中的内置函数枚举、zip

li = ['a','b','c']#print(enumerate(li)) # 枚举,步长默认从0开始,可以指定步长for id,i in enumerate(li,1): print("%s---->%s"%(id,i)) 打印: 1---->a2---->b3---->c li = ['小明','小黑','小bai']l2=[110,90,120]res=list(zip(li,l2)) # 把两个list压缩,一一对应print(res) # [('小