python中的sort、sorted排序

我们通常会遇到对数据库中的数据进行排序的问题,今天学习一下对列表和字典的排序方法。

列表

第一种:内建方法sort

sort()对列表排序是永久性的排序。

用法:sort(*key=Nonereverse=False)

  • 注意这个reverse。当reverse为True时,代表反向排列;默认为False,正向排列。

举例:

1 >>> d = [‘3‘, ‘4‘, ‘1‘, ‘6‘, ‘2‘, ‘5‘]
2 >>> d.sort()
3 >>> d
4 [‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘]
5 >>> d.sort(reverse=True)
6 >>> d
7 [‘6‘, ‘5‘, ‘4‘, ‘3‘, ‘2‘, ‘1‘]

第二种:内建函数sorted()

sorted()排序是一种临时性的排序,并不会对列表本身造成影响,其返回的是一个新的列表

用法:sorted(iterable*key=Nonereverse=False)

  • reverse作用同上
  • 与sort不同的是,list.sort()仅仅为list定义;而sorted()适用于所有可迭代
1 >>> d = [‘6‘, ‘5‘, ‘4‘, ‘3‘, ‘2‘, ‘1‘]
2 >>> d1 = sorted(d)
3 >>> d1
4 [‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘]

字典

现有字典d={‘a‘: 24, ‘b‘: 32, ‘c‘: 12}。分别按照key和value对字典进行排序。字典key以及value的取出分别为d.keys()和d.values()方法。

上面讲了sorted的用法,三个参数:iterable,key,reverse。

第一种:字典按照key倒序排列:

 1 >>> d1 = sorted(d.items(), key=lambda item:item[0], reverse=True)
 2 >>> d1
 3 [(‘c‘, 12), (‘b‘, 32), (‘a‘, 24)]
 4 >>>
 5 >>> for key, value in d1:        # 将其打印出来
 6 ...     print(key, value)
 7 ...
 8 c 12
 9 b 32
10 a 24

sorted()中的iterable对应d.items()【items方法是将字典的key、value值生成列表,可迭代】,key对应lambda函数表达式,item[0]对应字典的key值,同理按照value排序,也就是item[1]啦;reverse为True,使得反向排序。

第二种:字典按照value正向排列:

1 >>> d2 = sorted(d.items(), key=lambda item:item[1], reverse=False)
2 >>> d2
3 [(‘c‘, 12), (‘a‘, 24), (‘b‘, 32)]
4 >>> for key, value in d2:
5 ...     print(key, value)
6 ...
7 c 12
8 a 24
9 b 32

扩展一下:

对于一种列表里面包含元组等复杂的数据时,进行排序可以根据对象的属性进行排序。

1 >>> student_tuples = [(‘john‘, ‘A‘, 15), (‘jane‘, ‘B‘, 12), (‘dave‘, ‘B‘, 10)]
2 >>> sorted(student_tuples, key=lambda student:student[2])    # sort by age
3 [(‘dave‘, ‘B‘, 10), (‘jane‘, ‘B‘, 12), (‘john‘, ‘A‘, 15)]

原文地址:https://www.cnblogs.com/cpl9412290130/p/10110504.html

时间: 2024-07-31 05:39:08

python中的sort、sorted排序的相关文章

Python中的sort()方法的使用

本文和大家分享的主要是python中的sort()方法相关知识,一起来看看吧,希望对大家学习python有所帮助. 一.基本形式 sorted(iterable[, cmp[, key[, reverse]]]) iterable.sort(cmp[, key[, reverse]]) 参数解释: (1)iterable指定要排序的list或者iterable,不用多说: (2)cmp为函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数,如: students为类对象的list

Python中的sort()

Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. 1 2 3 x = [4, 6, 2, 1, 7, 9] x.sort() print x # [1, 2, 4, 6, 7, 9] 如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢 1 2 3 4 5 x =[4, 6, 2, 1, 7, 9] y = x[ : ] y.sor

python中的sort和sorted

共同点 都有三个参数, cmp用户自定义(指定函数),每个元素都会调用,效率没key高 key带一个参数的函数,用来为每个元素提取比较值 reverse=True    翻转 sort sort作用的对象一般是列表 sort直接排序后就改变了自己,不用生成新的对象,所以效率更高 >>> m=[1,2,3,4,5] >>> m.sort(reverse=True >>> m [5, 4, 3, 2, 1] >>> m ['This',

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中的sort()方法使用基础

一.基本形式 sorted(iterable[, cmp[, key[, reverse]]]) iterable.sort(cmp[, key[, reverse]]) 参数解释: (1)iterable指定要排序的list或者iterable,不用多说: (2)cmp为函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数,如: students为类对象的list,没个成员有三个域,用sorted进行比较时可以自己定cmp函数,例如这里要通过比较第三个数据成员来排序,代码可以这

Python 关于‘inf’,sort(),sorted(),min()的一些用法

Python float("inf") // delete an element in list A = ["a","b"] Del A[0] A.remove("a") // python timeit module http://woodpecker.org.cn/diveintopython/performance_tuning/timeit.html http://www.cnblogs.com/moinmoin/ar

Python中对复杂数据结构排序(类似C中结构体数据结构)

Python中排序主要有两个函数:sorted和列表成员函数sort,两者除了调用方式有些区别外,最显著的区别是sorted会新建一个排序好的列表并返回,而sort是修改原列表并排好序.sorted的原型是: sorted(iterable, cmp=None, key=None, reverse=False) sort的原型是: list.sort(cmp=None, key=None, reverse=False) 其中cmp和key都是函数引用,即可以传入函数名.这两个函数都是对list里

冒泡排序和sort,sorted排序函数

冒泡: # 轮数 元素个数 比较次数# 1 6 5# 2 5 4# 3 4 3# 4 3 2# 5 2 1 # 列表有n个元素,则应比较n-1轮,即循环次数n-1 a=[85,7,4,89,34,2]for j in range(5): # 轮数 for i in range(5-j): # 每轮次数 if a[i]>a[i+1]: a[i],a[i+1] =a[i+1],a[i]print(a)# [2, 4, 7, 34, 85, 89] # ************************

python中list.sort()与sorted()的区别

list.sort()和sorted()都是python的内置函数,他们都用来对序列进行排序,区别在于 list.sort()是对列表就地(in-place)排序,返回None:sorted()返回排好序的新列表,原列表不变 list.sort()只适用于列表,sorted()适用于任意可迭代对象 参考链接:Sorting HOW TO 原文地址:https://www.cnblogs.com/zzliu/p/10803320.html