網站首頁 編程語言 正文
1.函數sort()是對列表就地排序
>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> x.sort()
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2.函數sort()修改序列,不返回任何值
>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> y=x.sort()
>>> print(y)
None
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
3.sorted()函數會返回一個排序列表,不改變原有序列
>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> y=sorted(x)
>>> print(y)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(x)
[8, 9, 0, 7, 4, 5, 1, 2, 3, 6]
4.函數sort()是升序排序,如何降序排序,需要用到函數reverse()
>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> x.sort()
>>> x.reverse()
>>> print(x)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5.函數sort()排序的高級用法
方法sort()可以接受兩個參數sort(key,reverse)
(1) key參數
key接受的是一個只有一個形參的函數
key接受的函數返回值,表示此元素的權值,sort將按照權值大小進行排序
>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> def size(a):
>>> ? ? x=10-int(a)
>>> ? ? return x
>>> x.sort(key=size)
>>> print(x)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
(2) reverse參數
reverse接受的是一個bool類型的值 (Ture or False),表示是否顛倒排列順序,一般默認的是False,注意第一個字母是大寫的
>>> x=[8,9,0,7,4,5,1,2,3,6]
>>> x.sort(reverse=True)
>>> print(x)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> x.sort(reverse=False)
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>?
補充:python中sort的用法——對列表中的元素按關鍵字排序
在python中,sort是列表排序的一種方法,調用方式為list.sort(),這樣會改變原來列表的值。
sort(key, reverse)方法有key和reverse兩種參數,其中key表示的是排序的關鍵字,reverse表示的是排序的方式(reverse=False表示升序和reverse=True表示降序)
sort()方法默認是升序排序,即默認reverse=False。
下面主要寫一下如何用sort根據關鍵字排序:
對于一個列表,其中的元素也是列表,要根據元素中的值進行排序,直接看代碼:
例子一:
l = [[1,2,3],[2,2,1],[2,1,3]]
l.sort(key = lambda x: (x[0],-x[1]))
'''
其中key表示按第幾個關鍵字排序,lambda x:后()中的元素表示了關鍵字的優先級
第一位表示最高的優先級,第二位次之。。。
其中下x[0]表示按第一個關鍵詞的升序排列,-x[1]表示按第二個關鍵詞的降序排列。
'''
print(l)
#輸出:[[1, 2, 3], [2, 2, 1], [2, 1, 3]]
例子二:
l = [[1,2,2],[2,2,1],[2,1,3]]
l.sort(key = lambda x: (-x[2],x[1]))
#表示按第三個元素的降序排列,然后再根據第二個元素的升序排
print(l)
#輸出:[[2, 1, 3], [1, 2, 2], [2, 2, 1]]
總結
原文鏈接:https://blog.csdn.net/qq_20831401/article/details/121663509
相關推薦
- 2022-05-11 解決GitHub報錯You‘re using an RSA key with SHA-1, whic
- 2023-11-12 jetson nano報錯Cannot allocate memory的問題——解決辦法
- 2022-05-09 sql語句中union的用法與踩坑記錄_MsSql
- 2022-10-12 docker配置阿里云鏡像倉庫的實現_docker
- 2022-08-20 使用C#開發OPC?Server服務器源碼解析_C#教程
- 2022-06-29 python人工智能tensorflow函數tf.layers.dense使用方法_python
- 2023-11-15 Python pip指定安裝鏡像源;pip安裝如何指定和更改鏡像源?
- 2022-11-19 ElasticSearch事件查詢語言EQL操作_服務器其它
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支