欢迎访问宙启技术站
智能推送

Python中的sorted函数:使用举例

发布时间:2023-06-13 04:43:18

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函数的使用举例,通过设置不同的参数可以实现不同的排序方式,对于程序员来说是非常实用的排序函数。