美文网首页
7-python中自定义排序函数

7-python中自定义排序函数

作者: mingminy | 来源:发表于2017-12-22 08:51 被阅读0次

Python内置的sorted()函数可对list进行排序:

>>>sorted([36, 5, 12, 9, 21])

[5, 9, 12, 21, 36]

sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。

因此,如果我们要实现倒序排序,只需要编写一个reversed_cmp函数:

def reversed_cmp(x, y):

if x > y:

return -1

if x < y:

return 1

return 0

这样,调用 sorted() 并传入 reversed_cmp 就可以实现倒序排序:

>>> sorted([36, 5, 12, 9, 21], reversed_cmp)

[36, 21, 12, 9, 5]

sorted()也可以对字符串进行排序,字符串默认按照ASCII大小来比较:

>>> sorted(['bob', 'about', 'Zoo', 'Credit'])

['Credit', 'Zoo', 'about', 'bob']

'Zoo'排在'about'之前是因为'Z'的ASCII码比'a'小。

相关文章

  • 7-python中自定义排序函数

    Python内置的sorted()函数可对list进行排序: >>>sorted([36, 5, 12, 9, 2...

  • 12、函数式编程(二)

    12.1 python中自定义排序函数 Python内置的sorted()函数可对list进行排序: >>>sor...

  • 深入理解python中的排序sort

    基本排序 Sorting Basicskey函数Key Functionsoperator库函数自定义排序( Op...

  • js高级程序设计阅读摘录4

    自定义函数实现sort排序(排查诡异默认排序) 函数内部属性 在函数内部,有两个特殊的对象:arguments 和...

  • 各种排序算法实现

    C++实现各种排序算法。上张图。 自定义的swap函数。 冒泡排序 插入排序 希尔排序 选择排序 快速排序 归并排...

  • 18. sorted

    sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:>>> ...

  • 【原】Python学习笔记——进阶篇

    python的高阶函数 一个函数作为另外一个函数的参数、map()、reduce()、filter()、自定义排序...

  • php 一些有用的内置函数

    usrot:使用用户自定义的比较函数对数组中的值进行排序 rawurlencode : 按照RFC1738对url...

  • 形式参数为数组名 实例

    #include"stdio.h" voidSort(inta[],intn); //自定义的冒泡排序函数; i...

  • sorted(第27篇)

    使用sorted()函数来排序 例子: 自定义排序 上面的排序方式比较简单,因为数字序列很容易比较大小。但如果要排...

网友评论

      本文标题:7-python中自定义排序函数

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