Python中的sorted函数:使用举例
Python的sorted函数是用来对一个序列进行排序的函数。它可以对可迭代的对象、列表、元组、字典等进行排序,返回一个排序后的序列。
sorted函数的语法如下:
sorted(iterable, key=None, reverse=False)
其中,iterable表示需要排序的对象(可迭代的对象、列表、元组、字典等),key用来指定一个函数来逐个迭代地处理iterable对象的每一个元素,reverse表示排序规则,如果为True则表示降序排序。
下面通过举例来说明sorted函数的用法。
对数字列表进行排序
首先我们可以通过以下代码来生成一个数字列表:
nums = [5, 3, 8, 1, 6, 9]
现在可以使用sorted函数对这个列表进行排序,默认排序方式是升序排列:
sorted_nums = sorted(nums)
print(sorted_nums)
输出结果为:
[1, 3, 5, 6, 8, 9]
也可以通过reverse参数将其改为降序排列:
sorted_nums = sorted(nums, reverse=True)
print(sorted_nums)
输出结果为:
[9, 8, 6, 5, 3, 1]
对字符串列表进行排序
同样,我们可以将需要排序的对象设置为一个字符串列表:
words = ['apple', 'banana', 'orange', 'watermelon', 'grape']
然后使用sorted函数进行排序,可以通过key参数来指定排序规则。比如按照字符串长度进行排序:
sorted_words = sorted(words, key=len)
print(sorted_words)
输出结果为:
['grape', 'apple', 'banana', 'orange', 'watermelon']
也可以使用lambda表达式来指定排序规则,将所有字符串转换为小写然后按字母表顺序排序:
sorted_words = sorted(words, key=lambda x: x.lower())
print(sorted_words)
输出结果为:
['apple', 'banana', 'grape', 'orange', 'watermelon']
对元组列表进行排序
同样,如果需要排序的对象是一个元组列表,可以通过指定元组的某一个元素来进行排序。比如对以下元组列表按 个元素升序排序:
tuples = [(2, 'apple'), (3, 'banana'), (1, 'orange'), (5, 'watermelon'), (4, 'grape')]
sorted_tuples = sorted(tuples, key=lambda x: x[0])
print(sorted_tuples)
输出结果为:
[(1, 'orange'), (2, 'apple'), (3, 'banana'), (4, 'grape'), (5, 'watermelon')]
对字典进行排序
如果需要对字典进行排序,可以通过将字典转换为元组来实现。比如对以下字典按值升序排序:
dictionary = {'apple': 2, 'banana': 3, 'orange': 1, 'watermelon': 5, 'grape': 4}
sorted_dict = sorted(dictionary.items(), key=lambda x: x[1])
print(sorted_dict)
输出结果为:
[('orange', 1), ('apple', 2), ('banana', 3), ('grape', 4), ('watermelon', 5)]
以上就是对Python中的sorted函数的使用举例,通过设置不同的参数可以实现不同的排序方式,对于程序员来说是非常实用的排序函数。
