sorted(iterable,key=none,reverse=false)
#返回排好序的新列表,不改變物件本身,預設公升序;reverse:-true降序 -false 正序對所有可迭代的物件均有效
list.sort(key=none,reverse=false)
#將list自身進行排序,不返回新的list物件,預設公升序;reverse:-true降序 -false 正序
array = [[5, 3, 6], [3, 5, 8], [7, 2, 1]]
array.sort()
print(array)
[[3, 5, 8], [5, 3, 6], [7, 2, 1]]
array = [[5, 3, 6], [3, 5, 8], [7, 2, 1]]
array_ = sorted(array, key=lambda x: x[1]) // 按照物件array,基本元素的第1個元素排序
print(array_)
[[7, 2, 1], [5, 3, 6], [3, 5, 8]]
不區分大小寫時將其他基本元素中的元素都轉換為大寫,或小寫,預設按元素順序依次排序,區分大小寫,按ascii碼順序排序。
data
=
[(
1
,
'b'
), (
1
,
'a'
), (
2
,
'a'
), (
0
,
'b'
), (
0
,
'a'
)]
#利用引數key來規定排序的規則
result
=
sorted
(data,key
=
lambda
x:(x[
0
],x[
1
].lower()))
print
(data)
#結果為 [(1, 'b'), (1, 'a'), (2, 'a'), (0, 'b'), (0, 'a')]
print
(result)
#結果為 [(0, 'a'), (0, 'b'), (1, 'a'), (1, 'b'), (2, 'a')]
這個list裡的元素是dict形式,每個dict都存有姓名和公升高現在想要以公升高進行公升序排列:
data
=
[, , ]
#將x['height']最為返回tuple的第個一元素
result
=
sorted
(data,key
=
lambda
x:(x[
'height'
],x[
'name'
]))
print
(data)
#結果為
print
(result)
#data 結果:[, , ]
#result 結果:[, , ]
將list排序,輸出排序後對應原來的下標:
1):
# 原資料
a = [5, 8, 2, 1, 7]
b = [(a[x], x) for x in range(len(a))]
b.sort(key=lambda x: x[0])
c = [x[1] for x in b]
d = [x[0] for x in b]
# c為排序排序後對應原來的下標
print(c)
# d為排序後的資料
print(d)
輸出結果:
[3, 2, 0, 4, 1]
[1, 2, 5, 7, 8]
2):
a = [5, 8, 2, 1, 7]
b = sorted(enumerate(a), key=lambda x: x[1])
c = [x[0] for x in b]
d = [x[1] for x in b]
# c為排序排序後對應原來的下標
print(c)
# d為排序後的資料
print(d)
輸出結果:
[3, 2, 0, 4, 1]
[1, 2, 5, 7, 8]
python中的排序
coding utf 8 from operator import itemgetter a 1,4,3,2,5 b 5,2,3 6,0,1 1,3,2 print sorted a 預設為公升序排序 print sorted a,reverse true reverse為true時,降序排列 pr...
Python中的排序
最近在學習python,想隨便 寫一下,python 寫一些 排序,排序 演算法 那麼多,我也不一一介紹,寫幾個比較簡單的,冒泡,選擇,快排,插入排序 用 python 實現一下,當然 也有參考 網上的寫法,相互學習吧,直接進入正題 氣泡排序 思想 我想大家 都應該理解就是 相鄰 兩個key 進行比...
python中的排序
1.sort.py 2.這個類用來演示如何對自定義物件進行排序 3.class sortobj 4.a 0 5.b 6.def init self,a,b 7.self.a a 8.self.b b 9.def printab self 10.print self.a,self.b 11.12.演示...