Python3 list sort排序
转自:https://blog.csdn.net/u010758410/article/details/79737498
当带排序列表的元素由多字段构成时,我们可以通过sorted(iterable ,key ,reverse)的参数key来
制定我们更具那个字段对列表进行排序。
语法格式: key = lambda 元素:元素 [ 字段索引 ]
例如: 相对元素第二个字段排序,则 key = lambda y:y[1] 备注: 这里y可以是任意字母,等同 key = lambda x : x[1]
几个简单的例子:
# -*- coding: utf-8 -*- ''' 使用sort中的key关键字 对list进行排序 ''' listA = [3,6,1,0,10,8,9] print(sorted(listA)) listB = ['g','e','t','b','a'] print(sorted(listB)) print(sorted(listB,key=lambda y:y[0])) listC = [('e',4),('o',2),('!',5),('v',3),('1',1)] print(sorted(listC,key=lambda x:x[1]))
执行的效果 可以看到 list按照 lambda 表达式指定的字段进行排序
[0, 1, 3, 6, 8, 9, 10] ['a', 'b', 'e', 'g', 't'] ['a', 'b', 'e', 'g', 't'] [('1', 1), ('o', 2), ('v', 3), ('e', 4), ('!', 5)]