學python(9) 快速排序

2021-08-14 09:32:27 字數 982 閱讀 7003

第一種

#快速排序

defkp

(ls):

#判斷要操作的列表長度是否大於1

if len(ls) <= 1:

#如果列表只有乙個數,則直接返回列表

return ls

#定義兩個列表儲存相對較大的數和相對較小的數

maxa =

mina =

#這次選擇用第乙個數作為分割標準

#遍歷除了第乙個資料的列表

for i in ls[1:]:

#判斷遍歷的數和第乙個數哪個大?

if i < ls[0]:

#小的放入mina列表中

else:

#大的放進maxa列表中

#利用遞迴,對兩個列表再次進行排序

return kp(mina) + ls[0:1] + kp(maxa)

測試函式

第二種:

def

kp2(ll):

if len(ll) <= 1:

return ll

return kp2([i for i in ll[1:] if i < ll[0]]) + ll[0:1] + kp2([i for i in ll[1:] if i >= ll[0]])

#測試函式

python學習交流、資源共享群:563626388 qq

Python 9「切片和迭代「

我們在對list或者tuple的元素進行取值時,一般的方法是這樣的 l 1,2,3 l 0 l 1 l 2 或者使用迴圈來獲取 l n 2 for i in range n lpython提供了更加簡便的方法能讓我們獲取這些值,那就是切片 slice list 1,2,3,4,5 取list集合中的...

python9之異常處理

異常處理是當程式出錯了,但是我們又不想讓使用者看到這個錯誤,而且我在寫程式的時候已經預料到了它可以出現這樣的錯誤,出現這樣的錯誤代表著什麼,我們可以提前處理這些個錯誤。try code except attributeerror as e print e except nameerror as e ...

Python9 檔案操作

檔案的開啟 open 1.py r r 以唯讀開啟檔案 w 開啟檔案用於寫入 a 開啟乙個檔案追加 rb,wb,ab 以二進位制方式操作 r w a 開啟檔案可讀寫 rb wb ab 以二進位制方式開啟檔案可讀寫 close 關閉檔案操作 read 讀取檔案 內可放要讀的位元組數,如 read 1 ...