網(wǎng)站首頁 編程語言 正文
1.sort()
首先看sort()
方法,sort
方法只能對列表進(jìn)行操作,而sorted
可用于所有的可迭代對象。
a = [1, 5, 3, 4, 2] a.sort() print(a)
調(diào)用sort()
方法后,原列表被改變。
2.sorted()
再看sorted()
函數(shù),
sorted(iterable, key=None, reverse=False)
-
iterable
是一個(gè)可迭代對象 - key為指定的排序標(biāo)的,指定排列的是哪一個(gè)值。參數(shù)類型為 函數(shù)類型。(需要傳入一個(gè)函數(shù))
- 如給
dic_items
里的鍵值對排序時(shí),默認(rèn)是按照鍵來排,可以設(shè)定此參數(shù)來按照Value
排列。 -
reverse
為排序方式,F(xiàn)alse為升序,True為降序
返回值是一個(gè)列表。
3.sorted()操作列表
a = [1, 5, 3, 4, 2] print(sorted(a)) print(a)
使用sorted
函數(shù),不改變原列表。sorted
操作其他可迭代對象大致過程同上。
4.sorted()排序字典
使用sorted()排序字典,首先要將字典中的值放在一個(gè)可迭代對象中:
這里將dict1轉(zhuǎn)化為dict1.items()
后,再傳入sorted()
函數(shù)中即可。
關(guān)于參數(shù)key有兩種常用寫法,
①參數(shù)key:使用lambda定義
使用lambda
定義一個(gè)獲取x第二個(gè)值的函數(shù),這里x指可迭代對象中的元素。
dict1 = {'a': 1, 'b': 4, 'c': 2, 'd': 3} print(sorted(dict1.items(), key=lambda x: x[1], reverse=True))
②參數(shù)key:使用itemgetter直接生成
from operator import itemgetter dict1 = {'a': 1, 'b': 4, 'c': 2, 'd': 3} print(sorted(dict1.items(), key=itemgetter(1), reverse=True))
也可以達(dá)到一樣的效果:
關(guān)于itemgetter()
是個(gè)什么,itemgetter()
是一個(gè)高階函數(shù),返回值是一個(gè)函數(shù),itemgetter(1)
等同于lambda x: x[1]。
單獨(dú)對其進(jìn)行調(diào)用就可以看出:
from operator import itemgetter print(itemgetter(1)([1, 2, 3]))
如圖,其獲取了列表[1, 2, 3]索引為1的值。
原文鏈接:https://blog.csdn.net/weixin_48964486/article/details/122841737
相關(guān)推薦
- 2022-12-19 C++?Boost?Fusion創(chuàng)建異構(gòu)容器詳解_C 語言
- 2022-10-17 Go使用select切換協(xié)程入門詳解_Golang
- 2022-09-19 C++學(xué)習(xí)之Lambda表達(dá)式的用法詳解_C 語言
- 2022-12-16 python實(shí)例方法的使用注意及代碼實(shí)例_python
- 2022-06-09 Nginx動(dòng)靜分離配置實(shí)現(xiàn)與說明_nginx
- 2022-12-13 Python實(shí)現(xiàn)根據(jù)Excel生成Model和數(shù)據(jù)導(dǎo)入腳本_python
- 2022-02-14 el-form的label和表單自適應(yīng)填滿一行且靠左對齊
- 2022-09-25 Windows 10主機(jī)上的VMware Workstation出現(xiàn)“VMware Workstat
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支