Python sort 與 sorted 簡單使用

2021-09-24 21:35:17 字數 3959 閱讀 1886

sort是在list上的方法,sorted可以對所以可迭代的物件進行排序操作

使用list中的sort方法返回的是對已經存在的列表進行操作

使用sorted內建函式,返回的是乙個新的list,而不是在原來的基礎上進行操作;

sort語法:

list.

sort

(cmp=none, key=none, reverse=false)

sorted語法:

sorted

(iterable[

, cmp[

, key[

, reverse]]]

)

引數:

key:主要用來進行比較的元素,僅有乙個引數,具體的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。

reverse:排序規則:

sort沒有返回值,sorted返回重新排序的列表

使用sort()排序

my_list =[2

,3,5

,1,4

,6]my_list.

sort()

print my_list

# 輸出結果:[1,

2,3,

4,5,

6]

使用sort()降序

my_list =

['a'

,'b'

,'e'

,'c'

,'g'

,'f'

]my_list.

sort

(reverse=true)

print my_list

# 輸出結果:[

'g',

'f',

'e',

'c',

'b',

'a']

指定元素進行排序

def func

(x):

return x[1]

# 指定第二個元素進行排序

my_list =[(

2,2)

,(3,

4),(

4,1)

,(1,

3)]my_list.

sort

(key=func)

print my_list

# 輸出結果:[(4

,1),

(2,2

),(1

,3),

(3,4

)]

使用lambda表示式

my_list =[(

2,2)

,(3,

4),(

4,1)

,(1,

3)]my_list.

sort

(key=lambda x: x[1]

)print my_list

# 輸出結果:[(4

,1),

(2,2

),(1

,3),

(3,4

)]

使用sorted排序

my_list =[2

,3,5

,1,4

,6]result =

sorted

(my_list)

print result

# 輸出結果:[1,

2,3,

4,5,

6]

使用引數key,實現自定義排序

my_list =[-

1,2,

3,5,

-6,4

]result =

sorted

(my_list, key=abs)

print result

# 輸出結果:[2,

-3,4

,6,-

7]

降序排序

my_list =[-

1,2,

3,5,

-6,4

]result =

sorted

(my_list, key=abs, reverse=true)

print result

# 輸出結果:[-6

,5,4

,3,2

,-1]

自定義函式

def func

(str)

:return

len(str)

my_list =[,

'orange'

,'banana'

,'pear'

]result =

sorted

(my_list, key=func)

print result

# 輸出結果:[

'pear',,

'orange'

,'banana'

]

使用lambda表示式

my_list =[,

'orange'

,'banana'

,'pear'

]result =

sorted

(my_list, key=lambda x:

len(x)

, reverse=true)

print result

# 輸出結果:[

'orange'

,'banana',,

'pear'

]

逗號前面字元進行排序

my_list =

['a, 3'

,'b, 2'

,'c, 1'

]result =

sorted

(my_list, key=lambda x: x.

split

(',')[

1])print result

# 輸出結果:[

'c, 1'

,'b, 2'

,'a, 3'

]

通過字典的key進行排序

my_dict =

result =

sorted

(my_dict.

items()

, key=lambda x: x[0]

)print result

# 輸出結果:[

('a',2

),('b',1

),('c',0

),('d',3

)]

通過字典的value進行排序

my_dict =

result =

sorted

(my_dict.

items()

, key=lambda x: x[1]

)print result

# 輸出結果:[

('c',0

),('b',1

),('a',2

),('d',3

)]

python sort和sorted使用詳解

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從小到大排序,...

sort與asort與ksort區別

sort只依據值從小到大排序,鍵值不參與排序 asort依據值排序,鍵值參與排序 ksort依據鍵值排序,值參與排序 sort只依據值從小到大排序,鍵值不參與排序。例 arr array a d d c b a sort arr var dump arr 結果array 3 asort依據值進行排序...

grep sed與sort常用方法

grep 可以用正規表示式給grep指定模式。如 grep he file grep v unix file 顯示file中所有不包含unix的行 grep l move history c 列出包含mov history的檔案 grep n move history testch.c 在匹配的行前...