亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

比較函數怎么工作的

不懂比較函數在這里的工作原理啊,返回的1,-1,0都是怎么起作用的,怎么起到了正序和倒序的排序方式,求幫助

正在回答

2 回答

sorted默認是

sorted([4,6,8,2等等],cmp)

cmp是里面介紹的輸出-1、1或者0,sorted函數通過cmp的返回值來判斷比較的兩個數的前后順序。

相當于是cmp為sorted提供對比的標準,sorted按照那個標準來排序。sorted函數只認識cmp返回的1、-1和0,并且按照上面介紹的規則來排序。至于從大到小還是從小到大完全取決于cmp的定義。

sorted的排序算法是python設計好的,我們并不需要知道。如果你接觸過其它的語言,在設計到排序時會接觸一些排序的算法,那些算法有好有壞,但可以想象,python的設計者一定是把最好的排序算法用在了sorted里面(并且據我所知,好像不是冒泡法)。如果非要知道排序算法也很簡單,自己定義cmp函數,讓它吧每一次比較的較大或較小的數打印出來,再查一下不同的排序算法,應該就可以反推出來了。

結合教程的介紹,希望你能理解。教程的介紹在這節感覺有些粗糙了。

3 回復 有任何疑惑可以回復我~

你可以試一下

原來的 if x > y:
? ? ? ?return -1

改成?

? ? ?if x < y:?

? ? ? ?return -1

看一下結果是什么

這個工作原理應該就是別的程序的所謂的“冒泡法” 一組數,將兩個相鄰的數依次比較大小 ,大的(或者小的)往前挪,比較完了,就會形成從大小排列的新的一組數

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

比較函數怎么工作的

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號