python sort 使用,尤其是sort和sorted的使用區別
a = [5,2,1,9,6]
>>> sorted(a) #將a從小到大排序,不影響a本身結構
[1, 2, 5, 6, 9]
>>> sorted(a,reverse = true) #將a從大到小排序,不影響a本身結構
[9, 6, 5, 2, 1]
>>> a.sort() #將a從小到大排序,影響a本身結構
>>> a
[1, 2, 5, 6, 9]
>>> a.sort(reverse = true) #將a從大到小排序,影響a本身結構
>>> a
[9, 6, 5, 2, 1]
# 注意,a.sort() 已改變其結構,b = a.sort() 是錯誤的寫法!
>>> b = ['aa','bb','bb','zz','cc']
>>> sorted(b)
['bb', 'cc', 'aa', 'bb', 'zz'] #按列表中元素每個字母的ascii碼從小到大排序,如果要從大到小,請用sorted(b,reverse=true)下同
>>> c =['ccc', 'bb', 'ffff', 'z']
>>> sorted(c,key=len) #按列表的元素的長度排序
['z', 'bb', 'ccc', 'ffff']
>>> d =['ccc', 'bb', 'ffff', 'z']
>>> sorted(d,key = str.lower ) #將列表中的每個元素變為小寫,再按每個元素中的每個字母的ascii碼從小到大排序
['bb', 'ccc', 'ffff', 'z']
>>> def lastchar(s):
return s[-1]
>>> e = ['abc','b','aaz','ef']
>>> sorted(e,key = lastchar) #自定義函式排序,lastchar為函式名,這個函式返回列表e中每個元素的最後乙個字母
['b', 'abc', 'ef', 'aaz'] #sorted(e,key=lastchar)作用就是 按列表e中每個元素的最後乙個字母的ascii碼從小到大排序
>>> f = [,,] #列表中的元素為字典
>>> def age(s):
return s['age']
>>> ff = sorted(f,key = age) #自定義函式按列表f中字典的age從小到大排序
[, , ]
>>> f2 = sorted(f,key = lambda x:x['age']) #如果覺得上面定義乙個函式**不美觀,可以用lambda的形式來定義函式,效果同上
本文出自
Python sort 與 sorted 簡單使用
sort是在list上的方法,sorted可以對所以可迭代的物件進行排序操作 使用list中的sort方法返回的是對已經存在的列表進行操作 使用sorted內建函式,返回的是乙個新的list,而不是在原來的基礎上進行操作 sort語法 list.sort cmp none,key none,reve...
python的列表排序sort和sorted
list排序可以使用python內建的sorted 函式或list自帶的sort 函式。區別 sorted 不修改原list而是建立個新list,list.sort 直接修改原list l 3 4,2 5,7 1 l new sorted l print l new,l 原list未修改 1 2,3...
qsort和sort的區別
first qsort 基本快速排序的方法,每次把陣列分成兩分和中間的乙個劃分值,而對於有多個重複值的陣列來說,基本排序的效率較低。整合在 c語言庫函式裡面的的 qsort 函式,使用 三路劃分的方法解決這個問題。所謂三路劃分,是指把陣列劃分成小於劃分值,等於劃分值和大於劃分值的三個部分。函式對bu...