很多时候我们的需要排序,例如下面这个情况:

l = [[2, 3], [6, 7], [3, 34], [24, 64], [1, 43]]

可能我们需要按按照没个元素的第一个数值的大小进行排序

如果第I个元素是I ,我们希望通过I[0]进行排序

解决办法是:

先定义一个方法,这个方法就是来返回第一个数的,比如,我们传递第一个元素过去

[2,3],我们得到的是=>2

def getKey(item):
        return item[0]

然后,我们使用强大的sort()函数

sorted(l, key=getKey)

然后,我们就得到我们想要的了…..

[[1, 43], [2, 3], [3, 34], [6, 7], [24, 64]]

——————————————————————-

再来一个:

 

B={
"name": "c",
"age": 22,
"tel": 711749632
},
{
"name": "a",
"age": 22,
"tel": 586665984
},
{
"name": "b",
"age": 5,
"tel": 303493120
},
{
"name": "e",
"age": 6,
"tel": 1412341760
}

现在我们想按照name进行排序

 

B2 = sorted(B,key = lambda x:x['name'])

一样这个是一个比较简单的写法,我们当然可以先顶一个函数

def getName(s):
    return s['name']

 

然后

B3 = sorted(B,key=getName)

结果一样

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python的sort()排序方法