美文网首页
Python 的key参数

Python 的key参数

作者: eeert2 | 来源:发表于2020-04-24 16:24 被阅读0次

上一篇 :python中list.sort方法和内置函数sorted的区别

摘自流畅的Python

Key参数很妙

list.sort,sorted,minmax函数的key参数是一个很棒的设计。

在其它语言里的排序函数需要用户提供一个接收两个参数的比较函数作为参数,像是Python2里的cmp(a,b)

key参数能够把事情变得简单高效。说它更简单,是因为只需要提供一个单参数来提取或计算一个值作为比较大小的标准依据。而Python2的这种设计则需要用户写一个返回-1,01的双参数函数。

说它更高效,是因为在每个元素上,key函数只会被调用一次。而双参数比较函数则在每一次两两比较的时候都会被调用。

诚然,在排序的时候,Python 总会比较两个键(key),但是那一阶段的计算会发生在 C 语言那一层,这样会比调用用户自定义的 Python 比较函数 更快。

另外,key 参数也能让你对一个混有数字字符和数值的列表进行排序。你只需要决定 到底是把字符看作数值,还是把数值看作字符:

>>> l = [28, 14, '28', 5, '9', '1', 0, 6, '23', 19] 
>>> sorted(l, key=int) 
[0, '1', 5, 6, '9', 14, 19, '23', 28, '28'] 
>>> sorted(l, key=str) 
[0, '1', 14, 19, '23', 28, '28', 5, 6, '9']

下一篇:用bisect来管理已排序的序列

相关文章

  • Python 的key参数

    上一篇 :python中list.sort方法和内置函数sorted的区别 摘自流畅的Python Key参数很妙...

  • python字典的setdefault()方法

    python字典的(Dictionary)setdefault()方法 描述: 语法: 参数: key --- 查...

  • Python 函数参数之不定长参数(*args/**kwargs

    Python调用函数时可使用的正式参数类型: 必需参数 (位置参数)、关键字参数 (key=value)、默认参...

  • 2018-04-09

    python max 函数利用key参数:可以利用key参数进行选择,比较哪一方面(比如绝对值)最大值 例:绝对值...

  • python max函数中使用key

    一般,Python中的max()方法用于返回给定参数的最大值,参数可以是序列。 使用key参数时,表示使用指定的方...

  • python常识(二)

    list.sort( key=None, reverse=False) key -- 只有一个传入参数的函数,参数...

  • python 常用操作记录

    python 列表及字典(按key、按value排序) python dict按照key 排序:1、method ...

  • tf.get_collection()

    此函数有两个参数,key和scope。 Args: 1.key: The key for the collecti...

  • 列表,字典排序

    列表嵌套字典,根据字典某一key排序python sort、sorted高级排序技巧(key的使用)Python要...

  • 参数绑定

    一 参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controll...

网友评论

      本文标题:Python 的key参数

      本文链接:https://www.haomeiwen.com/subject/mdbfwhtx.html