最近在看<>,里面第二章(列表和元组)里,有一段关于高级排序的讲解 原文:如果希望元素能按照特定的方式进行排序(而不是sort函数默认的方式,即根据python的默认排序规则按升序排列元素),那么可以通过compare(x,y)形式自定义比较函数。compare(x,y)函数会在xy时返回正数,如果x=y则返回0(根据你的定义)。定义好该函数之后,就可以提供给sort方法作为参数了。内建函数cmp提供了比较函数的默认实现方式: >>>cmp(42,32)1>>>cmp(99,100)-1>>>cmp(10,10)0>>>numbers=[5,2,9,7]>>>numbers.sort(cmp)>>>numbers[2,5,7,9]里面有讲到:定义好该函数后,就可以提供给sort方法作为参数了,但是如何定义?还有,我看代码里用不用cmp作为sort的参数,numbers的输出都是一样的嘛,那,需要cmp参数干些什么呢在sort的方法里。请大家帮忙回答一下,谢谢。
相关分类