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
,4,5
,7][
3,4,
2,5,
7,1]
>>
> l.sort(
)>>
>
print
(l)#原list被修改[1
,2,3
,4,5
,7]
key引數:
key的值為函式名或匿名函式,該函式會自動處理list中的每個元素並返回處理結果,然後sort/sorted函式根據返回結果對list進行排序;
reverse引數:
true為反序,預設false即正序;
# 根據元素的第乙個值排序
>>
> l=[[
1,2]
,[2,
3],[
7,8]
,[5,
6],[
9,10]
]>>
> l_new=
sorted
(l,key=
lambda x:x[0]
)# key為匿名函式,
>>
>
print
(l_new)[[
1,2]
,[2,
3],[
5,6]
,[7,
8],[
9,10]
]>>
>
defget_key
(item)
:# 返回元素第乙個值
return item[0]
>>
> l.sort(key=get_key,reverse=
true
)# key為普通函式,並且進行反序排序
>>
>
print
(l)[[9
,10],
[7,8
],[5
,6],
[2,3
],[1
,2]]
穩定性
list中若存在相同的key,在排序前後相同key元素的順序是不會變化的。
例如:[[1,2],[2,9],[7,8],[2,6],[9,10]]
,以元素第乙個值排序後為[[1,2],[2,9],[2,6],[7,8],[9,10]]
,具有相同key的元素[2,9],[2,6]順序不變
Python 列表排序,sort函式,分組排序
在python中對列表的排序有乙個內建的方法 sort list1 9,8,7,6,5 list1.sort print list1 5,6,7,8,9 注意 sort 是乙個內建的list.sort 方法,可以直接改變列表的內容.公升序降序 sort 是可以接受乙個reverse引數,這個引數是乙...
列表排序 sort 函式
只有列表示有順序的,其他型別是沒有順序的,列表的排序,用到sort 方法。ls 2 3,6 89 ls.sort 預設為公升序 ls 2 3,6 89 ls.sort reverse true 降序 ls 89 6,3 2 1 準備知識 在python裡,字典dictionary是內建的資料型別,是...
Python 列表 sort 方法
python 列表 sort 方法對列表進行排序。sort 方法語法 l.sort key none reverse false 該方法沒有返回值,但是會對列表中的元素進行排序。以下例項展示了 sort 方法的使用方法 print 列表排序後 l1 l1.sort reverse true prin...