關於python中的sort()的用法及引數說明

2021-10-04 01:38:01 字數 2221 閱讀 3937

python中提供sort()函式用於列表的排序,sort()函式共有兩個引數,

分別為:key和reverse

其中key用於指定乙個函式,即key=函式,即為排序提供一種方法

reverse意為翻轉的意思,可以呈現為降序排序等。

b =

['p'

,'py'

,'pyt'

,'pyth'

,'pytho'

,'python'

]# 讓sort函式按照len函式提供的字串長短進行排序,預設為公升序

b.sort(key =

len)

print

(b)

以上輸出結果為:

[

'p',

'py'

,'pyt'

,'pyth'

,'pytho'

,'python'

]

b =

['p'

,'py'

,'pyt'

,'pyth'

,'pytho'

,'python'

]# 讓sort函式按照len函式提供的字串長短進行排序,reverse=true意為翻轉,為逆序排序

b.sort(key =

len,reverse=

true

)print

(b)

以上輸出結果為:

[

'python'

,'pytho'

,'pyth'

,'pyt'

,'py'

,'p'

]

sort()由於key中指定乙個函式,可以將key與lambda匿名函式進行結合使用。

例1:

a =[(

'az'

,'abc'

,154),

('bz'

,'aac'

,144),

('ab'

,'abd'

,253)]

# 預設的情況下按照第乙個元素的公升序排序

a.sort(

)print

(a)

以上輸出結果為:

[

('ab'

,'abd'

,253),

('az'

,'abc'

,154),

('bz'

,'aac'

,144

)]

例2:

a =[(

'az'

,'abc'

,154),

('bz'

,'aac'

,144),

('ab'

,'abd'

,253)]

# 按照第二個元素進行公升序排序

a.sort(key=

lambda i:i[1]

)print

(a)

以上輸出結果為:

[

('bz'

,'aac'

,144),

('az'

,'abc'

,154),

('ab'

,'abd'

,253

)]

例3:

a =[(

'az'

,'abc'

,154),

('bz'

,'aac'

,144),

('ab'

,'abd'

,253)]

# 按照第三個元素進行公升序排序

a.sort(key=

lambda i:i[2]

)print

(a)

以上輸出結果為:

[

('bz'

,'aac'

,144),

('az'

,'abc'

,154),

('ab'

,'abd'

,253

)]

如果想按照某位元素進行降序排序,只需在sort中將reverse引數設定為true即可。

關於std list中的sort

關於std list中的sort list sort void sort template void sort pred pr 這兩個成員函式都會按下面所描述的謂詞來對被控序列中的元素排序。假設迭代器pi指向位於位置i處的元素,pj指向位於位置j處的元素,當i include struct myst...

Python中的sort 方法

python中的sort 和sorted 一 sort 列表有自己的sort方法,其對列表進行原址排序,既然是原址排序,那顯然元組不可能擁有這種方法,因為元組是不可修改的。lst 3,6 2,4 lst.sort para cmp,key,reverse printlst 2,3,4,6 如果需要乙...

python中的sort方法

一 基本形式 列表有自己的sort方法,其對列表進行原址排序,既然是原址排序,那顯然元組不可能擁有這樣的方法。由於元組是不可改動的。x 4,6,2,1,7,9 x.sort print x 1,2,4,6,7,9 假設須要乙個排序好的副本,同一時候保持原有列表不變。怎麼實現呢 x 4,6,2,1,7...