自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

盤點(diǎn)Python內(nèi)置函數(shù)sorted()高級(jí)用法實(shí)戰(zhàn)

開發(fā) 前端
這篇文章主要分享了Python的內(nèi)置函數(shù)sorted()排序問題,針對(duì)該問題給出了具體的解析和代碼演示,幫助粉絲順利解決了問題。

一、前言

前幾天在Python鉆石交流群有個(gè)叫【emerson】的粉絲問了一個(gè)Python排序的問題,這里拿出來(lái)給大家分享下,一起學(xué)習(xí)下。

其實(shí)這里【瑜亮老師】、【布達(dá)佩斯的永恒】等人講了很多,只不過(guò)對(duì)于基礎(chǔ)不太好的小伙伴們來(lái)說(shuō),還是有點(diǎn)難的。不過(guò)在實(shí)際應(yīng)用中內(nèi)置函數(shù)sorted()用的還是蠻多的,這里也單獨(dú)拿出來(lái)講一下,希望下次再有小伙伴遇到的時(shí)候,可以不慌。

二、基礎(chǔ)用法

內(nèi)置函數(shù)sorted()可以用來(lái)做排序,基礎(chǔ)的用法很簡(jiǎn)單,看個(gè)例子,如下所示。

lst = [3, 28, 18, 29, 2, 5, 88]result = sorted(lst)print(result)

程序運(yùn)行之后,可以看到列表從小到大進(jìn)行升序排序了。

如果想讓它倒序排序的話,也很簡(jiǎn)單,加個(gè)reverse參數(shù)即可。

lst = [3, 28, 18, 29, 2, 5, 88]result = sorted(lst, reverse=True)print(result)

三、高級(jí)用法

上面我們遇到的列表(迭代器)是很簡(jiǎn)單的數(shù)字類型,如果遇到比較復(fù)雜的迭代器,然后需要對(duì)其進(jìn)行排序的話,如下面這個(gè)例子,如下:

lst = [ {"id": 1, "name": "魯班", "age": 18}, {"id": 2, "name": "魯班大師", "age": 26}, {"id": 3, "name": "魯大師", "age": 23}, {"id": 4, "name": "狄仁杰", "age": 48}]# 按照年齡,對(duì)英雄進(jìn)行排序,升序

針對(duì)類似這樣的迭代器或者可迭代的對(duì)象,對(duì)其進(jìn)行排序的話,就需要使用自定義的方法對(duì)其進(jìn)行排序了。這個(gè)也都可以使用內(nèi)置函數(shù)sorted()來(lái)進(jìn)行,關(guān)于sorted()的用法如下所示。

它一共有三個(gè)參數(shù),第一個(gè)參數(shù)是可迭代對(duì)象,如列表、字典、集合等等;第二個(gè)參數(shù)是指排序規(guī)則(排序函數(shù)),在sorted()內(nèi)部會(huì)將可迭代對(duì)象中的每一個(gè)元素傳遞給這個(gè)函數(shù)的參數(shù),根據(jù)函數(shù)運(yùn)行的結(jié)果進(jìn)行排序;第三個(gè)參數(shù)是reverse,如果是True表示倒序,如果是False則表示正序。

那么針對(duì)該題目,可以使用下面的代碼進(jìn)行排序:

sorted(lst, key=lambda x: x.get('age'))

其中這個(gè)key就是自己自定義的一個(gè)匿名函數(shù),用于指定排序規(guī)則,這里的話就是取字典中的age,然后根據(jù)age的大小去進(jìn)行排序,所以得到的結(jié)果如下圖所示。

如果想取出年齡大于28的英雄,該怎么做?

這里引申了下,也是可以使用內(nèi)置函數(shù)來(lái)做,只不過(guò)這個(gè)地方用到的內(nèi)置函數(shù)是filter()了,代碼如下所示:

list(filter(lambda x: x['age'] >= 28, lst))

番外篇

最近又有很多小伙伴們?cè)趩朠ython深淺拷貝的知識(shí)點(diǎn),這里昨天整理了一份資料,這里分享給大家,面試題的時(shí)候經(jīng)常會(huì)被問到,共勉。

三、總結(jié)

大家好,我是Python進(jìn)階者。這篇文章主要分享了Python的內(nèi)置函數(shù)sorted()排序問題,針對(duì)該問題給出了具體的解析和代碼演示,幫助粉絲順利解決了問題。

責(zé)任編輯:武曉燕 來(lái)源: Python爬蟲與數(shù)據(jù)挖掘
相關(guān)推薦

2021-06-01 07:19:58

Python函數(shù)裝飾器

2024-12-06 06:00:00

Python列表編程

2021-10-03 15:06:28

Python文件字符

2021-08-10 09:57:27

JavaScriptPromise 前端

2024-08-13 15:23:37

2024-02-22 10:14:40

Filter函數(shù)Python

2019-07-17 10:19:36

MySQL數(shù)據(jù)庫(kù)SQL

2024-06-21 10:42:38

Python開發(fā)

2024-04-29 14:58:48

Python內(nèi)置函數(shù)

2021-09-04 07:56:44

Pythonos模塊

2020-05-26 13:45:46

Python函數(shù)字符串

2023-12-22 15:44:43

2020-06-24 07:44:12

Python數(shù)據(jù)技術(shù)

2021-03-13 10:14:59

Python定義函數(shù)Python基礎(chǔ)

2017-03-10 10:16:37

PythonRequests庫(kù)

2020-09-25 16:20:21

Python內(nèi)置函數(shù)字符串

2021-03-16 10:12:24

python內(nèi)置函數(shù)

2024-05-20 13:02:30

Python編程開發(fā)

2021-02-15 12:06:05

PythonSetDict

2022-09-13 09:31:59

Python內(nèi)置函數(shù)lambda
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)