龙空技术网

python 利用sorted() 函数对多元祖、字典多列汇总排序

python案例 192

前言:

此时兄弟们对“python sorted字典排序”可能比较着重,朋友们都需要知道一些“python sorted字典排序”的相关资讯。那么小编同时在网络上收集了一些对于“python sorted字典排序””的相关文章,希望兄弟们能喜欢,我们一起来了解一下吧!

在开发中,往往需要对多个模型,字典、或者列表进行汇总排序。

这时候使用sorted()往往是最高效,简洁的方式。

首先,先看看sorted()函数有哪些参数:

sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

sorted(iterable[, cmp[, key[, reverse]]])

参数说明:

iterable -- 可迭代对象。

cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。

key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

返回值

返回重新排序的列表。

在介绍完sorted()函数后,还需要了解匿名函数:lambda

func=lambda x:x+1

#以上lambda等同于以下函数

def func(x):

return(x+1)

通过sorted()和lambda函数结合,我们就可以很轻松的对元祖、字典、列表等排序。

方式如下:

x = [{'name':'ahahh', 'age':39}, {'name':'bsse', 'age':10}, {'name':'cdddd, 'age':20}, {'name':'eaeee', 'age':10}]

sorted_x = sorted(x, key=lambda x : (x['name'], -x['age']), reverse = True)

标签: #python sorted字典排序