python sort、sorted

1.

(1).sorted()方法返回一个新列表(默认升序)。

list.sort()

(2).另一个不同:list.sort()方法仅被定义在list中,sorted()方法对所有的可迭代序列都有效。

2.key参数/函数

从python2.4开始,在list.sort()和sorted()增加了key参数,key在每个元素比较浅被调用。

例如:通过key指定的函数来忽略字符串大小写:

通过复杂对象的某些值来对复杂对象的序列进行排序:

对拥有命名属性的复杂对象进行排序:

3.Operator模块函数

operator模块有itemgetter, attrgetter,从2.6开始增加了methodcaller方法。

operator允许多级的排序:先以grade,再以age排序

4.升序和降序

list.sort()和sorted()都接受一个参数reverse(True or False)来表示升序或降序。

5.排序的稳定性和复杂性

多个元素有相同的key,则排序前后他们的先后顺序不变。

注意:排序后"blue"的顺序被保持住了,即(‘blue’, 1)在(‘blue‘, 2)的前面。

构建多个步骤进行更复杂的排序:对student数据先以grade降序排列,再以age升序排列

时间: 2024-10-10 00:45:57

python sort、sorted的相关文章

【转载】 python sort、sorted高级排序技巧

这篇文章主要介绍了python sort.sorted高级排序技巧,本文讲解了基础排序.升序和降序.排序的稳定性和复杂排序.cmp函数排序法等内容,需要的朋友可以参考下 Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1. 排序基础 简单的升序排序是非常容易的.只需要调用sorted()方法.它返回一个新的list,新的list的元素基于小于运算符(lt)来排序. >>> sorted([5, 2,

python sort、sorted、reverse、reverd的区别

sort.sorted.reverse.reversed的区别 !!! error 首先应该区分的是,sort和reverse是列表的一个方法.字符串.元组.字典.集合是没有这两个方法的.而sorted和reversed是python的两个内置函数,并且只有字符串.列表.元组,可以当做参数传入,字典和集合不支持,得到的是一个生成器对象 !!! sort与sorted() sort 只有列表有该方法,直接对原来的列表进行排序,不会产生新列表 l1 = [12,2,34,54,5,17] l1.so

python sort、sorted高级排序技巧

Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorted()方法.它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序. 复制代码 代码如下: >>> sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] 你也可以使用list.sort()方法来排序,此时list本身将被修改.通常此方法不如s

python sort和sorted

转自 https://www.jianshu.com/p/419a8732ac62 一.函数sort() sort() :仅对list对象进行排序,会改变list自身的顺序,没有返回值,即原地排序: list.sort(key=None, reverse=False) key :设置排序方法,或指定list中用于排序的元素: reverse :升降序排列,默认为升序排列: 一维元素组成的list排序:忽略参数key >>> a = ['TaoBao', 'Google', 'BaiDu'

【python】 sort、sorted高级排序技巧

这篇文章主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下 Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorted()方法.它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序. >>> sorted([5, 2, 3, 1, 4]) [1, 2, 3

python 列表排序方法reverse、sort、sorted基础篇

python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse()方法 将列表中元素反转排序,比如下面这样 >>> x = [1,5,2,3,4] >>> x.reverse() >>> x [4, 3, 2, 5, 1] reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序

python中的sort、sorted、reverse、reversed详解

python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse()方法 将列表中元素反转排序,比如下面这样 1 2 3 4 >>> x = [1,5,2,3,4] >>> x.reverse() >>> x [4, 3, 2, 5, 1] reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表

Python 列表排序方法reverse、sort、sorted详解

python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse()方法 将列表中元素反转排序,比如下面这样 1 2 3 4 >>> x = [1,5,2,3,4] >>> x.reverse() >>> x [4, 3, 2, 5, 1] reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表

Python排列函数:sort、sorted

排序函数介绍:sort()和sorted()都属于Python list的排序方法 区别:sort()属于永久性排列,直接改变该list : sorted属于暂时性排列,会产生一个新的序列. #sorted() >>> print sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] #sort() >>> L = [5, 2, 3, 1, 4] >>> L.sort() >>> print L [1, 2,