最近在看,里面第二章(列表和元組)里,有一段關(guān)于高級(jí)排序的講解原文:如果希望元素能按照特定的方式進(jìn)行排序(而不是sort函數(shù)默認(rèn)的方式,即根據(jù)python的默認(rèn)排序規(guī)則按升序排列元素),那么可以通過compare(x,y)形式自定義比較函數(shù)。compare(x,y)函數(shù)會(huì)在xy時(shí)返回正數(shù),如果x=y則返回0(根據(jù)你的定義)。定義好該函數(shù)之后,就可以提供給sort方法作為參數(shù)了。內(nèi)建函數(shù)cmp提供了比較函數(shù)的默認(rèn)實(shí)現(xiàn)方式:>>>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]里面有講到:定義好該函數(shù)后,就可以提供給sort方法作為參數(shù)了,但是如何定義?還有,我看代碼里用不用cmp作為sort的參數(shù),numbers的輸出都是一樣的嘛,那,需要cmp參數(shù)干些什么呢在sort的方法里。請(qǐng)大家?guī)兔卮鹨幌?,謝謝。
python里方法sort()中cmp參數(shù)的用法
慕碼人8056858
2019-04-08 11:18:12