第一種
#快速排序
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 ...