学习过python计算机编程语言的同学们都知道,python本身提供了python 列表排序功能,且它的排序算法是稳定的(key相等的两项在排序后的先后次序不变),那么如何如何通过key函数来进行自定义的排序呢?
下面的python源码示例中,我们就要通过python 列表的list.sort来演示一下,如何通过key函数来进行自定义的排序。
这里说的key函数,其实就是以参加排序的每一项作为输入,而输出则为用来排序的key值。
#python list 排序
def my_key1(x):
return x % 10
aList = [4, 5, 1, 2, 12, 34, 56, 9 ,80]
aList.sort() #默认按升序排列
print(aList)
aList.sort(reverse = True) #按降序排列
print(aList)
#www.iplaypy.com
aList.sort(key = my_key1) #根据key函数,按照个位数进行升序排列
print(aList)
def my_key2(x):
return x[1]
aList = [(4,'ab'), (56,'c'), (1,'bb'), (102, 'a')]
aList.sort(key = my_key2) #按照每个元组的第2分量,即字符串排序
print(aList)
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/base/b2512.html
相关文章 Recommend