Python列表cmp()方法比较两个列表。
语法
以下是cmp()方法的语法 –
cmp(list1, list2)
参数
list1 – 这是要比较的第一个列表。
list2 – 这是第二个要比较的列表。
返回值
如果元素的类型相同,则执行比较并返回结果。如果元素是不同的类型,则检查它们是否是数字。
如果数字,必要时进行数字强制比较。
如果任一元素是数字,则另一个元素是“较大的”(数字值“最小”)。
否则,类型按名称按字母顺序排序。
如果到达其中一个列表的末尾,则较长的列表是“较大的”。 如果排除两个列表并共享相同的数据,结果返回0。如果 list1 < list2 返回 -1, 如果 x == y 返回 0, 如果 list > list2 返回 1。
示例
以下示例显示了cmp()方法的用法。
#!/usr/bin/python3 list1, list2 = [123, 'xyz'], [456, 'abc'] print cmp(list1, list2) print cmp(list2, list1) list3 = list2 + [786]; print cmp(list2, list3)
当运行上面的程序,它产生以下结果 –
-1 1 -1
注意:在python3中,不能使用这个函数
查看python的帮助文档,在oprater这个模块中有了这么几个函数 –
operator.lt(a, b) operator.le(a, b) operator.eq(a, b) operator.ne(a, b) operator.ge(a, b) operator.gt(a, b) operator.__lt__(a, b) operator.__le__(a, b) operator.__eq__(a, b) operator.__ne__(a, b) operator.__ge__(a, b) operator.__gt__(a, b)
这几个函数就是用来替换之前的cmp(),之前使用cmp的同胞们,以后就换上面这些函数。下面简单说下这几个函数的意思 –
lt(a, b) 相当于 a < ble(a,b) 相当于 a <= beq(a,b) 相当于 a == bne(a,b) 相当于 a != bgt(a,b) 相当于 a > bge(a, b)相当于 a>= b
¥ 我要打赏 纠错/补充 收藏