小技巧3 sort 函式中的key

2021-09-24 22:31:19 字數 992 閱讀 4552

sort函式原型

sort(key=none, reverse=false)

key 可指定一些規則

reverse 預設值是false

可以給它賦值成true,那就是反向排序

example:

當我們有乙個需要排序的字典

它裡面的鍵是一本**所有的單詞(不重複的,若是字典**現重複的鍵,只會讀取到最後乙個鍵)

它裡面的值是這本**中所有單詞出現的次數

instance:

d =

下面使用sort()對他進行排序

首先得先把他轉化成乙個列表:

content = list(d.items())

這下我們得到了乙個列表,列印其中的內容發現得到了乙個列表,其中儲存的值是元組型別的。

[('beautiful', 10), ('wonderful', 12), ('love', 17)]

用鍵來排序:

content.sort(key=lambda x:x[0])

寫成這個樣子, x就是列表中的乙個元組,x[0]就是元組中的第乙個元素,也就是我們之前儲存的鍵

列印一下:

[('beautiful', 10), ('love', 17), ('wonderful', 12)]

可以看出來按照每個鍵的首字母排序

用值來排序:

content.sort(key=lambda x:x[1])

寫成這樣就可以了,

列印一下:

[('beautiful', 10), ('wonderful', 12), ('love', 17)]

變成從小到大的值來排序

3 sort函式如何自定義排序函式

主要總結形如sort函式如何自定義排序函式的問題。目前發現有四種方法 1 排序物件自定義 運算子的過載函式,即 bool operator const type b return true or false 2 自定義排序函式,保證形參返回值即可 bool nameisnotimportant co...

sort 的小技巧和 set的維護

list.sort 乙個包含list元素的list,按照各元素的第一位數字排序 list.sort key lambda x x 0 把某些數字n提前 list.sort key lambda x x n,reverse true sort原地排序,sorted傳遞排序結果 字典dir.keys d...

c 中的sort 函式

起來自己天天排序排序,冒泡啊,二分查詢啊,結果在stl中就自帶了排序函式sort,qsort,總算把自己解脫了 所以自己總結了一下,首先看sort函式見下表 函式名 功能描述 sort 對給定區間所有元素進行排序 stable sort 對給定區間所有元素進行穩定排序 partial sort 對給...