先看几段代码:
str = "AAAaaa8888899sssss"
print(max(str1, key=str1.count)) # 返回str中出现次数最多的字符,此处是8
下面这段代码按键来匹配最大值
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1)) # 返回c
print(max(dict1.keys())) # 返回c
下面的代码按值来匹配最大的key,并返回
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1, key=dict1.get)) # 返回b
print(max(dict1, key=lambda x: dict1[x])) # 返回b
下面这段获取字典中最大value的值
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1.values())) # 返回33
获取句子中的最长单词
str3 = "Life is short , I use python"
print(str3.split()) # ['Life', 'is', 'short', ',', 'I', 'use', 'python']
print(max(str3.split(), key=len)) # python
获取list中的最大值
list1 = ['11', 'zzz', '22', 'eee']
print(max(list1)) # 返回zzz
获取list中的最大数值
list2 = ['11', '3', '222', '67']
print(max(list2, key=lambda x: int(x))) # 返回222
获取list中的绝对值最大的值
list3 = ['11', '-399', '222', '67']
print(max(list3, key=lambda x: abs(int(x)))) # 返回-399
获取元组list中指定索引的最大值
list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
print(max(list4, key=lambda x: x[1])) # 返回 (-1, 'z')
总结:
1、Python中的max()方法用于返回给定参数的最大值,参数可以是序列。
2、使用key参数时,表示使用指定的方法来比较大小,而不是使用原数据比较大小。
key参数应该是一个可调用对象,在Python中,类、自定义函数、内置函数、lambda表达式、带有特殊方法call()的对象都属于可调用函数。
x=(2, 3, 4, 5)
max(x)
>>> 5
max(x, key=lambda z: 1/z) #比较倒数大小
>>> 2
list = [[1, 2, 3], [4, 5, 6, 7], [8]]
max(list, key=lambda v: len(v))
>>> [4, 5, 6, 7]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)