天天关注:python中sort()函数用法详解
目录
1.函数sort()是对列表就地排序2.函数sort()修改序列,不返回任何值3.sorted()函数会返回一个排序列表,不改变原有序列4.函数sort()是升序排序,如何降序排序,需要用到函数reverse()5.函数sort()排序的高级用法(1) key参数(2) reverse参数补充:python中sort的用法——对列表中的元素按关键字排序总结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]]
总结
到此这篇关于python中sort()函数用法的文章就介绍到这了,更多相关python sort()函数用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 2现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 3如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 4AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 5转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 6充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 7好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 8名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 9亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 10京东绿色建材线上平台上线 新增用户70%来自下沉市场