python的sort()排序方法
很多时候我们的需要排序,例如下面这个情况:
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