新手python中的sort的key参数

我是一个初学者,在网上搜了搜key参数的作用,有点看不懂,有没有大佬用大白话讲一下。。。

通常一般情况列表里面的元素,排序的时候直接用sort(),里面不需要带key参数

 

那什么时候需要用到带key参数呢,就是列表里面还有列表,或者还有元组这样的嵌套的,

这时候你可以指定是按嵌套列表里面的第一个元素排序还是第二个元素排序

如下例子:

按第一个元素排序

# 获取列表的第一个元素
def takeSecond(elem):
    return elem[0]
 
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
 
# 指定第一个元素排序
random.sort(key=takeSecond)
 
# 输出类别
print ('排序列表:', random)

以上实例输出结果如下:

排序列表: [(1, 3), (2, 2), (3, 4), (4, 1)]

 

按第二个元素排序

# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
 
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
 
# 指定第二个元素排序
random.sort(key=takeSecond)
 
# 输出类别
print ('排序列表:', random)

 

以上实例输出结果如下:

排序列表:[(4, 1), (2, 2), (1, 3), (3, 4)]

 

不知道这样讲你理解了没,还望采纳,相互帮助和尊重