• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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用法的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • python机器学习高数篇之函数极限与导数
    • python中super()函数的理解与基本使用
    • Python如何使用print()函数输出格式化字符串
    • python中map()函数使用方法详解
    • python之多种方式传递函数方法案例讲解
    • python imread函数详解
    • 关于Python OS模块常用文件/目录函数详解
    • python用函数创造字典的实例讲解
    • Python面向对象之内置函数相关知识总结
    • Python函数中的不定长参数相关知识总结
    • Python 函数简单易理解版
    上一篇:Python访问Redis的详细操作
    下一篇:pycharm代码删除恢复的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python max函数中key的用法及原理解析 Python,max,函数,中,key,的,