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 在匹配的行前...