python中cmp函数怎么用

0 161
Python中cmp函数怎么用 什么是cmp函数 cmp是Python2.x中的一个内置函数,用来比较两个参数的大小。它接受两个参数,如果第一个参数小于第二...

Python中cmp函数怎么用

什么是cmp函数

cmp是Python2.x中的一个内置函数,用来比较两个参数的大小。它接受两个参数,如果第一个参数小于第二个参数就返回-1,如果第一个参数等于第二个参数就返回0,如果第一个参数大于第二个参数就返回1。

用法示例

以下是cmp函数的用法示例:

>>> a = 1

>>> b = 2

>>> print cmp(a,b)

-1

>>> a = 2

>>> b = 1

>>> print cmp(a,b)

1

>>> a = 2

>>> b = 2

>>> print cmp(a,b)

0

cmp函数不推荐使用

在Python3.x中,cmp函数被移除了。因为在Python3.x中,比较两个不同类型的对象没有明确的一致规则,这使得cmp函数的实现变得比较困难。为了保持语言的简洁性和一致性,Python3.x移除了cmp函数,推荐使用其他函数替代。

在Python2.x中,如果需要比较序列类型的对象,可以使用Python的内置函数max和min。在使用时,max和min会自动比较序列中的元素,返回序列中最大或最小的元素:

python中cmp函数怎么用

>>> a = [1,2,3,4]

>>> print max(a)

4

>>> print min(a)

1

其他比较函数

除了max和min函数,Python还提供了许多其他比较函数,如sorted函数、list.sort函数、heapq.nlargest函数和heapq.nsmallest函数等。

sorted函数用于对序列进行排序,可以自定义排序规则。示例如下:

>>> a = [1,3,2,4]

>>> print sorted(a)

[1, 2, 3, 4]

>>> a = [(1,'a'),(3,'c'),(2,'b')]

>>> print sorted(a, key=lambda x:x[1])

[(1, 'a'), (2, 'b'), (3, 'c')]

list.sort函数与sorted函数类似,但list.sort会直接对原列表进行排序,而不会返回一个新列表。示例如下:

>>> a = [1,3,2,4]

>>> a.sort()

>>> print a

[1, 2, 3, 4]

heapq.nlargest和heapq.nsmallest是Python提供的用于寻找列表中最小或最大的N个元素的函数。示例如下:

>>> import heapq

>>> a = [1,3,2,4]

>>> print heapq.nlargest(2,a)

[4, 3]

>>> print heapq.nsmallest(2,a)

[1, 2]

总结

虽然cmp函数在Python3.x被移除了,但是Python的其他比较函数还有很多。学会使用这些函数可以让我们更方便快捷地进行列表、元组、字典等数据类型的操作。

最后修改时间:
文章相关标签:
小小茶猫
上一篇 2023年05月28日 10:36
下一篇 2023年05月28日 10:40

相关文章

评论已关闭