Python中的sorted()函数使用方法详解
Python中的sorted()是一个内置函数,可以对列表、元组、字典等可迭代对象进行排序操作。它接收一个iterable类型的参数,并可以选取一些参数,以便完成所需要的排序操作。本文将介绍sorted()函数的基本用法和一些常见的用法场景。
一、基本用法
使用sorted()函数可以对列表进行排序操作。它的基本语法如下:
sorted(iterable, *, key=None, reverse=False) -> List
其中,iterable为需要排序的对象;key为可选参数,是用来排序的函数,reverse为可选参数,为True时将列表逆序排列。函数的返回值是一个列表,列表中的元素是按照排序规则排列的。下面的例子演示了如何使用sorted()函数对列表进行排序:
a = [2, 3, 1, 4, 5] sorted_a = sorted(a) print(sorted_a) # 输出: # [1, 2, 3, 4, 5]
在这个例子中,我们创建了一个包含5个整数的列表a,然后使用sorted()函数对它进行排序,将排序后的结果赋给变量sorted_a,最后打印sorted_a的值。使用sorted()函数对列表进行排序非常简单,只需要传入列表即可。
二、key参数
在sorted()函数中,key参数是可选的。如果不传入key参数,那么默认排序规则是以列表中的元素为基础进行排序。如果我们想以列表中元素的某一个属性或者某一个函数的返回值为基础进行排序,就需要使用key参数。key参数需要指定一个函数,这个函数会以列表中的每个元素为参数进行调用,返回的结果会作为这个元素的排序依据。下面是一个示例:
students = ['Tom', 'Jerry', 'Alice', 'Lucy'] sorted_students = sorted(students, key=lambda x:x[-1]) print(sorted_students) # 输出: # ['Lucy', 'Tom', 'Alice', 'Jerry']
在这个例子中,我们创建了一个包含4个字符串的列表students,然后使用sorted()函数对它进行排序,并且指定key参数为一个lambda函数。这个lambda函数的作用是提取每个字符串的最后一个字符,然后以这个字符为依据进行排序。最终的结果是按照最后一个字符从小到大排序得到的,即'L' < 'T' < 'A' < 'J'。
三、reverse参数
在sorted()函数中,reverse参数也是可选的。如果reverse为True,那么将会按照相反的顺序对列表进行排序。下面是一个示例:
a = [2, 3, 1, 4, 5] sorted_a = sorted(a, reverse=True) print(sorted_a) # 输出: # [5, 4, 3, 2, 1]
在这个例子中,我们创建了一个包含5个整数的列表a,然后使用sorted()函数对它进行排序,并传入reverse参数为True。这个参数的作用是按照相反的顺序进行排序。最终的结果是按照从大到小的顺序排列得到的。
四、总结
总之,sorted()函数是Python内置函数中比较有用的一个之一,可以用来对列表、元组、字典等可迭代对象进行排序操作。它的基本语法和参数也比较简单,掌握了它的用法之后可以大大提高我们在Python编程中的效率。
