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)]

  

原文地址:https://www.cnblogs.com/kangxinxin/p/9872132.html