python-cmp()的使用

注意:python3中已经删除了cmp()该函数。

cmp(x,y)    

比较x与y,当x>y时,返回1;  当x==y时,返回0;  当x<y时,返回-1;

 1 >>>cmp(1,0)
 2 1
 3 >>>cmp(1,1)
 4 0
 5 >>>cmp(1,2)
 6 -1
 7 >>>cmp('a','b')
 8 -1
 9 >>>cmp('abc','ab')
10 1
11 #因为'abc'的长度大于'ab',所以判定'abc'>'ab'

特殊的地方:

1.如果比较的类型不相同,但都是数字(整形和浮点类型),则进行强制的数字转换后再进行判断(对于哪个类型进行强制转换,这个有点疑问,但是觉得并不重要);

2.如果X为数字,Y非数字,则X<Y(数字是最小的);

>>> print True == 1
True
>>> print True == 0
False
>>> print False == 1
False
>>> print False == 0
True
#Bool类型中的True和False在计算机中也用1和0表示

 

3.当X、Y都不是数字且类型不同的时候,对其类型的名称(String,Bool...)进行判断;

>>> cmp(True,'True')
-1
>>> cmp(False,'True')
-1

 

以上是单纯的比较两个数据,下面是比较列表。

>>> list1 = [1,2,3]
>>> list2 = [1,2,3]
>>> cmp(list1,list2)
0
>>> list2[2] = 4
>>> cmp(list1,list2)
-1
>>> list1 = ['abc','a']
>>> list2 = ['abc',1]
>>> cmp(list1,list2)
1
>>> list2[1] = 'b'
>>> cmp(list1,list2)
-1
>>> list2[1] = True
>>> cmp(list1,list2)
1

 

posted on 2016-02-16 19:37  Uncle_X  阅读(1736)  评论(0编辑  收藏  举报

导航