这篇教程Python max函数中key的用法及原理解析写得很实用,希望能帮到您。
一、背景起源于一个问题:怎样找到字符串中出现次数最多的字符 其实使用max函数就能很轻松的解决这个问题: 代码: str1 = "AAAaaa8888899sssss"print(max(str1, key=str1.count)) 结果:8
二、原理max()函数用于获得给定的可迭代对象中的最大值。 key是max()函数的一个参数,它辅助max函数找到最大元素。当max() 函数中有 key 参数时,求的是 value 的最大值,当没有 key 参数时,求的是 key 的最大值。 key可以对要比较的对象进行一些处理,以达到对对象进行特定规则的比较。 要在比较之前修改对象,或基于特定的属性/索引进行比较,必须使用key参数。
三、用法获取字典中key的最大值 dict1 = {'a': '11', 'c': '22', 'b': '33'}print(max(dict1))print(max(dict1.keys())) 获取字典中最大value对应的key值 dict1 = {'a': '11', 'c': '22', 'b': '33'}print(max(dict1, key=dict1.get))print(max(dict1, key=lambda x: dict1[x])) 获取字典中最大value的值 dict1 = {'a': '11', 'c': '22', 'b': '33'}print(max(dict1.values())) 获取句子中的最长单词 str3 = "Life is short , I use python"print(str3.split())print(max(str3.split(), key=len)) 获取list中的最大值 list1 = ['11', 'zzz', '22', 'eee']print(max(list1)) 获取list中的最大数值 list2 = ['11', '3', '222', '67']print(max(list2, key=lambda x: int(x))) 获取list中的绝对值最大的值 list3 = ['11', '-399', '222', '67']print(max(list2, key=lambda x: abs(int(x)))) 获取元组list中指定索引的最大值 list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]print(max(list4, key=lambda x: x[1]))
四、实例str1 = "AAAaaa888ww8899sssss"print(max(str1, key=str1.count))print('--------------------------') print(max(str1))print('--------------------------') list1 = ['11', 'zzz', '22', 'eee']print(max(list1))print('--------------------------') list2 = ['11', '-399', '222', '67']print(max(list2, key=lambda x: int(x)))print('--------------------------') list3 = ['11', '-399', '222', '67']print(max(list2, key=lambda x: abs(int(x))))print('--------------------------') # list3 = [{'age': 20}, {'age': 23}]# print(max(list3))# print('--------------------------') list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]print(max(list4, key=lambda x: x[1]))print('--------------------------') dict1 = {'a': '11', 'c': '22', 'b': '33'}print(max(dict1, key=dict1.get))print(max(dict1, key=lambda x: dict1[x])) dict1 = {'a': '11', 'c': '22', 'b': '33'}print(max(dict1))print(max(dict1.keys())) dict1 = {'a': '11', 'c': '22', 'b': '33'}print(max(dict1.values()))print('--------------------------')str3 = "Life is short , I use python"print(str3.split())print(max(str3.split(), key=len))print(max(str3.split()))print('--------------------------') 运行结果: 
以上就是Python max函数中key的用法的详细内容,更多关于Python max函数key用法的资料请关注51zixue.net其它相关文章! Python访问Redis的详细操作 pycharm代码删除恢复的方法 |