zoukankan      html  css  js  c++  java
  • 自定义比较函数

    python中内置的比较函数com,我们看一下

    描述

    cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。


    语法

    以下是 cmp() 方法的语法:

    cmp( x, y )

    参数

    • x -- 数值表达式。
    • y -- 数值表达式。

    返回值

    如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。


    实例

    以下展示了使用 cmp() 方法的实例:

    #!/usr/bin/python
    
    print "cmp(80, 100) : ", cmp(80, 100)
    print "cmp(180, 100) : ", cmp(180, 100)
    print "cmp(-80, 100) : ", cmp(-80, 100)
    print "cmp(80, -100) : ", cmp(80, -100)

    以上实例运行后输出结果为:

    cmp(80, 100) :  -1
    cmp(180, 100) :  1
    cmp(-80, 100) :  -1
    cmp(80, -100) :  1


    二、自定义比较函数

    可以定义自己的比较函数,然后通过参数传递给sort方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def comp(x, y):
    if x < y:
    return 1
    elif x > y:
    return -1
    else:
    return 0
     
    nums = [3, 2, 8 ,0 , 1]
    nums.sort(comp)
    print nums # 降序排序[8, 3, 2, 1, 0]
    nums.sort(cmp) # 调用内建函数cmp ,升序排序
    print nums # 降序排序[0, 1, 2, 3, 8]
     



    也可以如我们一开始的代码中,用lambda表达式写。但要区别lambda表达式和def函数的区别。lambda表达式,正如名字一样,里边只能是表达式的形式,不能出现for,if,print等这样的语句。
  • 相关阅读:
    HTML&CSS基础-内联样式和内部样式表
    HTML&CSS基础-超链接
    zabbix监控企业esxi虚拟机
    zabbix服务器监控suse系统教程
    HTML&CSS基础-内联框架
    zabbix监控路由器所有接口信息
    HTML&CSS基础-xHtml语法规范
    快速搭建企业subversion
    网易免费邮件开启smtp教程
    zabbix添加邮件报警机制
  • 原文地址:https://www.cnblogs.com/shixisheng/p/7500407.html
Copyright © 2011-2022 走看看