Python中max()内置函数使用(list)
在学习完列表和元组的基础知识后,做到一个题:
求出列表中频次出现最多的元素。
学习到了python内置函数max的用法 其参数key的用法 匿名函数lamda的用法
python内置函数max()
max()方法返回给定参数的最大值,参数值可为序列。
print ("max(80, 100, 1000) : ", max(80, 100, 1000))
print ("max(-20, 100, 400) : ", max(-20, 100, 400))
print ("max(-80, -20, -10) : ", max(-80, -20, -10))
print ("max(0, 100, -400) : ", max(0, 100, -400))输出为:
max(80, 100, 1000) : 1000 max(-20, 100, 400) : 400 max(-80, -20, -10) : -10 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中的参数值
以字典为例:
#the key whose value is the largest
square = {2: 4, -3: 9, -1: 1, -2: 4}
key2 = max(square, key = lamda k: square[k])
print("The key with the largest value: ",key2) #-3
print("The largest value: ",square[key2])#9关于lambda:匿名函数
lambda arguments: expression
# Python code to illustrate cube of a number
# showing difference between def() and lambda().
def cube(y):
return y*y*y;
g = lambda x: x*x*x
print(g(7)) #343
print(cube(7)) #343- 不使用lambda:在这里,都是返回的立方值。但在使用def,我们需要定义一个函数名称,需要传递一个值。执行之后,我们还需要返回结果的函数并使用使用return关键字。
- 使用lambda:lambda定义不包括return,它总是返回包含一个表达式。我们也可以把一个lambda定义一个函数时预计在任何地方,我们不必把它赋值给一个变量。这是lambda函数的简单性。
实现代码:求列表中频次出现最多的元素
def mode(lst):
if lst is None or len(lst) == 0:
return None
return max(lst, key = lambda k: lst.count(k))
#调用mode
lst = [1, 3, 3, 2, 1, 1, 2]
r = mode(lst)
print(r)
#output : 1 相关推荐
meylovezn 2020-09-21
mmmjyjy 2020-07-16
typhoonpython 2020-06-11
x青年欢乐多 2020-06-06
Stranger 2020-05-16
PythonMaker 2020-04-22
QianYanDai 2020-04-18
千锋 2020-04-11
SDUTACM 2020-03-05
f = lambda x, y, z: x + y + z # returns a function that can optionally be assigned a name. def func:
sschencn 2020-02-21
wklken的笔记 2020-01-30
GhostLWB 2020-01-30
sulindong0 2020-01-19
chinademon 2020-01-12
mieleizhi0 2020-01-11
samsai00 2020-01-06