经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
python中sort()函数用法详解
来源:jb51  时间:2022/8/15 18:59:30  对本文有异议

1.函数sort()是对列表就地排序

  1. >>> x=[8,9,0,7,4,5,1,2,3,6]
  2. >>> x.sort()
  3. >>> print(x)
  4. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2.函数sort()修改序列,不返回任何值

  1. >>> x=[8,9,0,7,4,5,1,2,3,6]
  2. >>> y=x.sort()
  3. >>> print(y)
  4. None
  5. >>> print(x)
  6. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

3.sorted()函数会返回一个排序列表,不改变原有序列

  1. >>> x=[8,9,0,7,4,5,1,2,3,6]
  2. >>> y=sorted(x)
  3. >>> print(y)
  4. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  5. >>> print(x)
  6. [8, 9, 0, 7, 4, 5, 1, 2, 3, 6]

4.函数sort()是升序排序,如何降序排序,需要用到函数reverse()

  1. >>> x=[8,9,0,7,4,5,1,2,3,6]
  2. >>> x.sort()
  3. >>> x.reverse()
  4. >>> print(x)
  5. [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

5.函数sort()排序的高级用法

方法sort()可以接受两个参数sort(key,reverse)

(1) key参数

key接受的是一个只有一个形参的函数

key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

  1. >>> x=[8,9,0,7,4,5,1,2,3,6]
  2. >>> def size(a):
  3. >>> ? ? x=10-int(a)
  4. >>> ? ? return x
  5. >>> x.sort(key=size)
  6. >>> print(x)
  7.  
  8. [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

(2) reverse参数

reverse接受的是一个bool类型的值 (Ture or False),表示是否颠倒排列顺序,一般默认的是False,注意第一个字母是大写的

  1. >>> x=[8,9,0,7,4,5,1,2,3,6]
  2. >>> x.sort(reverse=True)
  3. >>> print(x)
  4. [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  5. >>> x.sort(reverse=False)
  6. >>> print(x)
  7. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  8. >>>?

补充:python中sort的用法——对列表中的元素按关键字排序

在python中,sort是列表排序的一种方法,调用方式为list.sort(),这样会改变原来列表的值。

sort(key, reverse)方法有key和reverse两种参数,其中key表示的是排序的关键字,reverse表示的是排序的方式(reverse=False表示升序和reverse=True表示降序)

sort()方法默认是升序排序,即默认reverse=False。

下面主要写一下如何用sort根据关键字排序:

对于一个列表,其中的元素也是列表,要根据元素中的值进行排序,直接看代码:

例子一:

  1. l = [[1,2,3],[2,2,1],[2,1,3]]
  2.  
  3. l.sort(key = lambda x: (x[0],-x[1]))
  4. '''
  5. 其中key表示按第几个关键字排序,lambda x:后()中的元素表示了关键字的优先级
  6. 第一位表示最高的优先级,第二位次之。。。
  7. 其中下x[0]表示按第一个关键词的升序排列,-x[1]表示按第二个关键词的降序排列。
  8. '''
  9. print(l)
  10. #输出:[[1, 2, 3], [2, 2, 1], [2, 1, 3]]

例子二:

  1. l = [[1,2,2],[2,2,1],[2,1,3]]
  2.  
  3. l.sort(key = lambda x: (-x[2],x[1]))
  4. #表示按第三个元素的降序排列,然后再根据第二个元素的升序排
  5. print(l)
  6. #输出:[[2, 1, 3], [1, 2, 2], [2, 2, 1]]

总结

到此这篇关于python中sort()函数用法的文章就介绍到这了,更多相关python sort()函数用法内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号