国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

邪惡做動(dòng)態(tài)網(wǎng)站百度小說風(fēng)云榜

邪惡做動(dòng)態(tài)網(wǎng)站,百度小說風(fēng)云榜,網(wǎng)站建設(shè)市場調(diào)研框架,企業(yè)網(wǎng)站制作規(guī)劃在 Python 中,列表和字典都是基礎(chǔ)數(shù)據(jù)類型,這兩種數(shù)據(jù)類型會(huì)通過相互嵌套和多個(gè)層級(jí)形成復(fù)雜的數(shù)據(jù)類型,類似 JSON 數(shù)據(jù)格式,對(duì)列表和字典排序其實(shí)可以類比是對(duì) JSON 排序。 列表排序 列表可以使用 sorted() 函數(shù)排序&#xff1…

Python 中,列表和字典都是基礎(chǔ)數(shù)據(jù)類型,這兩種數(shù)據(jù)類型會(huì)通過相互嵌套和多個(gè)層級(jí)形成復(fù)雜的數(shù)據(jù)類型,類似 JSON 數(shù)據(jù)格式,對(duì)列表和字典排序其實(shí)可以類比是對(duì) JSON 排序。

列表排序

列表可以使用 sorted() 函數(shù)排序:

In [1]: color = ['White', 'Black', 'Red', 'Yellow', 'Green', 'Blue']In [2]: sorted(color)
Out[2]: ['Black', 'Blue', 'Green', 'Red', 'White', 'Yellow']

對(duì)列表降序排序:

In [3]: sorted(color, reverse=True)
Out[3]: ['Yellow', 'White', 'Red', 'Green', 'Blue', 'Black']

也可以使用列表內(nèi)置的排序?qū)傩?list.sort()

In [1]: color = ['White', 'Black', 'Red', 'Yellow', 'Green', 'Blue']In [2]: color
Out[2]: ['White', 'Black', 'Red', 'Yellow', 'Green', 'Blue']In [3]: color.sort()In [4]: color
Out[4]: ['Black', 'Blue', 'Green', 'Red', 'White', 'Yellow']In [5]: color.sort(reverse=True)In [6]: color
Out[6]: ['Yellow', 'White', 'Red', 'Green', 'Blue', 'Black']

list.sort() 只有列表才有的屬性,它會(huì)直接修改原列表并返回 None(原地排序)。而 sorted() 適用于任何可迭代的對(duì)象,如果你不需要原地排序使用 sorted() 會(huì)更加方便和高效。

字典排序

字典使用 sorted() 函數(shù)排序:

In [1]: color = {'White': 1, 'Black': 2, 'Red': 3, 'Yellow': 3, 'Green': 2, 'Blue': 1}In [2]: color
Out[2]: {'White': 1, 'Black': 2, 'Red': 3, 'Yellow': 3, 'Green': 2, 'Blue': 1}

對(duì)字典的鍵升序排序:

In [3]: sorted(color)
Out[3]: ['Black', 'Blue', 'Green', 'Red', 'White', 'Yellow']

sorted() 函數(shù)默認(rèn)對(duì)字典的鍵升序排序,等同如下形式:

In [4]: sorted(color.keys(), reverse=False)
Out[4]: ['Black', 'Blue', 'Green', 'Red', 'White', 'Yellow']

對(duì)字典的鍵降序排序:

In [5]: sorted(color, reverse=True)
Out[5]: ['Yellow', 'White', 'Red', 'Green', 'Blue', 'Black']In [6]: sorted(color.keys(), reverse=True)
Out[6]: ['Yellow', 'White', 'Red', 'Green', 'Blue', 'Black']

對(duì)字典的值升序排序:

In [7]: sorted(color.values())
Out[7]: [1, 1, 2, 2, 3, 3]

這種排序結(jié)果是字典值的列表,所以一般情況下需要指定排序算法,通常使用 lambda 函數(shù)作為排序規(guī)則。

lambda x: x[1]x 是元組,x[0] 是鍵,x[1] 是值。

In [8]: sorted(color.items(), key=lambda x: x[1])
Out[8]: 
[('White', 1),('Blue', 1),('Black', 2),('Green', 2),('Red', 3),('Yellow', 3)]

字典排序完成后可以通過 dict() 函數(shù)將元組變回字典:

In [15]: dict(sorted(color.items(), key=lambda x: x[1]))
Out[15]: {'White': 1, 'Blue': 1, 'Black': 2, 'Green': 2, 'Red': 3, 'Yellow': 3}

在 Python 3.5(含)以前,字典是不能保證順序的,鍵值對(duì) A 先插入字典,鍵值對(duì) B 后插入字典,但是當(dāng)你打印字典的 Keys 列表時(shí),你會(huì)發(fā)現(xiàn) B 可能在A的前面。 但是從 Python 3.6 開始,字典是變成有順序的了。

嵌套排序

上文只是對(duì)列表和字段排序進(jìn)行單獨(dú)的說明,但是在實(shí)際開發(fā)過程中嵌套排序才是經(jīng)常遇到的,所以嵌套排序才是本文的重點(diǎn)。

通過排列組合可知嵌套排序有如下四種:

字典嵌套字典

In [1]: color = {...:     'White': {'level': 1},...:     'Black': {'level': 2},...:     'Red': {'level': 3},...:     'Yellow': {'level': 3},...:     'Green': {'level': 2},...:     'Blue': {'level': 1}...: }In [2]: color
Out[2]: 
{'White': {'level': 1},'Black': {'level': 2},'Red': {'level': 3},'Yellow': {'level': 3},'Green': {'level': 2},'Blue': {'level': 1}}

對(duì)字典的鍵升序排序:

In [3]: sorted(color.items())
Out[3]: 
[('Black', {'level': 2}),('Blue', {'level': 1}),('Green', {'level': 2}),('Red', {'level': 3}),('White', {'level': 1}),('Yellow', {'level': 3})]In [4]: dict(sorted(color.items()))
Out[4]: 
{'Black': {'level': 2},'Blue': {'level': 1},'Green': {'level': 2},'Red': {'level': 3},'White': {'level': 1},'Yellow': {'level': 3}}

對(duì)字典的鍵降序排序:

In [5]: sorted(color.items(), key=lambda x: x[0], reverse=True)
Out[5]: 
[('Yellow', {'level': 3}),('White', {'level': 1}),('Red', {'level': 3}),('Green', {'level': 2}),('Blue', {'level': 1}),('Black', {'level': 2})]In [6]: dict(sorted(color.items(), key=lambda x: x[0], reverse=True))
Out[6]: 
{'Yellow': {'level': 3},'White': {'level': 1},'Red': {'level': 3},'Green': {'level': 2},'Blue': {'level': 1},'Black': {'level': 2}}

字典嵌套列表

In [1]: color = {...:     'White': [250, 255, 251],...:     'Black': [0, 2, 1],...:     'Red': [255, 2, 0],...:     'Yellow': [255, 254, 0],...:     'Green': [1, 128, 0],...:     'Blue': [0, 1, 255]...: }In [2]: color
Out[2]: 
{'White': [250, 255, 251],'Black': [0, 2, 1],'Red': [255, 2, 0],'Yellow': [255, 254, 0],'Green': [1, 128, 0],'Blue': [0, 1, 255]}

對(duì)字典的鍵升序排序:

In [3]: sorted(color.items())
Out[3]: 
[('Black', [0, 2, 1]),('Blue', [0, 1, 255]),('Green', [1, 128, 0]),('Red', [255, 2, 0]),('White', [250, 255, 251]),('Yellow', [255, 254, 0])]In [4]: dict(sorted(color.items()))
Out[4]: 
{'Black': [0, 2, 1],'Blue': [0, 1, 255],'Green': [1, 128, 0],'Red': [255, 2, 0],'White': [250, 255, 251],'Yellow': [255, 254, 0]}

對(duì)字典中列表的值升序排序:

In [5]: sorted(color.items(), key=lambda x: x[1][0])
Out[5]: 
[('Black', [0, 2, 1]),('Blue', [0, 1, 255]),('Green', [1, 128, 0]),('White', [250, 255, 251]),('Red', [255, 2, 0]),('Yellow', [255, 254, 0])]In [6]: sorted(color.items(), key=lambda x: x[1][1])
Out[6]: 
[('Blue', [0, 1, 255]),('Black', [0, 2, 1]),('Red', [255, 2, 0]),('Green', [1, 128, 0]),('Yellow', [255, 254, 0]),('White', [250, 255, 251])]In [7]: sorted(color.items(), key=lambda x: x[1][2])
Out[7]: 
[('Red', [255, 2, 0]),('Yellow', [255, 254, 0]),('Green', [1, 128, 0]),('Black', [0, 2, 1]),('White', [250, 255, 251]),('Blue', [0, 1, 255])]

lambda x: x[1][0] 中,x[1][0] 代表按列表第一個(gè)值排序,以此類推。

對(duì)字典中列表的值降序排序:

In [8]: sorted(color.items(), key=lambda x: x[1][0], reverse=True)
Out[8]: 
[('Red', [255, 2, 0]),('Yellow', [255, 254, 0]),('White', [250, 255, 251]),('Green', [1, 128, 0]),('Black', [0, 2, 1]),('Blue', [0, 1, 255])]

列表嵌套列表

In [1]: color = [['White', 2], ['Black', 3], ['Red', 4],['White', 1], ['Black', 2], ['Red', 3]]In [2]: color
Out[2]: 
[['White', 2],['Black', 3],['Red', 4],['White', 1],['Black', 2],['Red', 3]]In [3]: sorted(color)
Out[3]: 
[['Black', 2],['Black', 3],['Red', 3],['Red', 4],['White', 1],['White', 2]]In [4]: sorted(color, reverse=True)
Out[4]: 
[['White', 2],['White', 1],['Red', 4],['Red', 3],['Black', 3],['Black', 2]]

列表嵌套字典

In [1]: colors = [...:     {'color': 'White', 'level': 2},...:     {'color': 'Black', 'level': 3},...:     {'color': 'Red', 'level': 4},...:     {'color': 'White', 'level': 1},...:     {'color': 'Black', 'level': 2},...:     {'color': 'Red', 'level': 3}...: ]In [2]: colors
Out[2]: 
[{'color': 'White', 'level': 2},{'color': 'Black', 'level': 3},{'color': 'Red', 'level': 4},{'color': 'White', 'level': 1},{'color': 'Black', 'level': 2},{'color': 'Red', 'level': 3}]

對(duì)列表中每個(gè)字典的 color 字段進(jìn)行排序(單級(jí)排序):

In [3]: sorted(colors, key=lambda x: x['color'])
Out[3]: 
[{'color': 'Black', 'level': 3},{'color': 'Black', 'level': 2},{'color': 'Red', 'level': 4},{'color': 'Red', 'level': 3},{'color': 'White', 'level': 2},{'color': 'White', 'level': 1}]

對(duì)列表中每個(gè)字典的 color 字段進(jìn)行排序后再對(duì) level 字段排序(多級(jí)排序):

In [4]: sorted(colors, key=lambda x: (x['color'], x['level']))
Out[4]: 
[{'color': 'Black', 'level': 2},{'color': 'Black', 'level': 3},{'color': 'Red', 'level': 3},{'color': 'Red', 'level': 4},{'color': 'White', 'level': 1},{'color': 'White', 'level': 2}]

參考文章:
https://docs.python.org/zh-cn/3/howto/sorting.html
https://www.kingname.info/2019/07/13/python-dict
https://blog.csdn.net/ray_up/article/details/42084863

http://aloenet.com.cn/news/43560.html

相關(guān)文章:

  • 濟(jì)南建設(shè)網(wǎng)站的公司seo快速培訓(xùn)
  • 做網(wǎng)站會(huì)用到的代碼單詞有沒有免費(fèi)的crm系統(tǒng)軟件
  • 網(wǎng)站集約化平臺(tái)青島seo排名公司
  • wordpress變數(shù)據(jù)庫seo推廣優(yōu)化官網(wǎng)
  • 河南省建設(shè)廳網(wǎng)站人事網(wǎng)滎陽seo
  • 門戶網(wǎng)站建設(shè)自評(píng)報(bào)告seo營銷是什么
  • 門戶網(wǎng)站建設(shè)中存在的問題刷贊網(wǎng)站推廣永久
  • 東城手機(jī)網(wǎng)站制作佛山全市核酸檢測
  • 域名??烤W(wǎng)站什么是關(guān)鍵詞搜索
  • 做網(wǎng)站 做手機(jī)app要學(xué)什么軟件競價(jià)托管多少錢
  • 美國免費(fèi)建站平臺(tái)東莞優(yōu)化排名推廣
  • 做塑料的網(wǎng)站名字國內(nèi)比百度好的搜索引擎
  • 電腦怎樣做病毒網(wǎng)站成都十大營銷策劃公司
  • 長沙做網(wǎng)站最好的公司win7優(yōu)化大師官方網(wǎng)站
  • 云南網(wǎng)站搭建網(wǎng)站怎么優(yōu)化關(guān)鍵詞排名
  • 網(wǎng)站導(dǎo)航漂浮代碼整合營銷傳播方案
  • java做的網(wǎng)站源碼seo發(fā)包技術(shù)教程
  • 05網(wǎng)站網(wǎng)上哪里可以免費(fèi)打廣告
  • 化妝品網(wǎng)站靜態(tài)模板適合中層管理的培訓(xùn)
  • 長沙做網(wǎng)站微聯(lián)訊點(diǎn)靠譜推廣什么app傭金高
  • 南昌網(wǎng)站建設(shè)制作網(wǎng)絡(luò)推廣接單平臺(tái)
  • 廣州制作網(wǎng)站的公司互聯(lián)網(wǎng)推廣怎么找渠道
  • 國外html5特效網(wǎng)站深圳seo秘籍
  • 買香港空間上傳美女圖片做網(wǎng)站互聯(lián)網(wǎng)營銷師培訓(xùn)
  • 美國最近的新聞大事北京網(wǎng)站優(yōu)化培訓(xùn)
  • 合肥網(wǎng)站外包怎么做網(wǎng)絡(luò)廣告推廣
  • 網(wǎng)站用什么工具做怎么做產(chǎn)品推廣和宣傳
  • 有什么做服裝的網(wǎng)站嗎岳陽網(wǎng)站建設(shè)推廣
  • 做資訊類網(wǎng)站需要特殊資質(zhì)嗎網(wǎng)絡(luò)營銷文案策劃
  • 學(xué)手機(jī)網(wǎng)站建設(shè)百度指數(shù)查詢工具app