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

Python中sorted()函数的用法和示例

发布时间:2023-06-18 08:29:59

Python中的sorted()函数是一种内置函数,可以将一个可迭代对象中的元素按照指定的顺序进行排序,并返回一个新的列表。sorted()函数可以用于对数字、字符串、元组、列表等各种数据类型进行排序。它有三个参数,分别是sorted(iterable, key=None, reverse=False)。

iterable:需要排序的序列,可以是列表、元组、集合等。

key:用于排序的函数,可以自定义排序规则。

reverse:排序规则,默认为False代表升序排序,True代表降序排序。

下面是一些sorted()函数的用法和示例:

1. 升序排序

默认情况下,sorted()函数会对可迭代对象进行升序排序。

lst = [5,2,3,1,4]
sorted_list = sorted(lst)
print(sorted_list)  # [1,2,3,4,5]

2. 降序排序

如果想要按照降序排序,需要将reverse参数设置为True。

lst = [5,2,3,1,4]
sorted_list = sorted(lst, reverse=True)
print(sorted_list)  # [5,4,3,2,1]

3. 使用lambda表达式进行排序

使用lambda表达式可以自定义排序规则,例如可以按照元组中第二个元素进行排序。

lst = [('a', 3), ('d', 1), ('c', 2), ('b', 4)]
sorted_list = sorted(lst, key=lambda x: x[1])
print(sorted_list)  # [('d', 1), ('c', 2), ('a', 3), ('b', 4)]

4. 对字符串列表进行排序

sorted()函数可以对字符串列表进行排序,它会按照字母表顺序进行排序。

lst = ['apple', 'banana', 'orange', 'watermelon']
sorted_list = sorted(lst)
print(sorted_list)  # ['apple', 'banana', 'orange', 'watermelon']

5. 对集合进行排序

集合是无序的,但是可以使用sorted()函数对集合中的元素进行排序。

s = {3, 2, 5, 1, 4}
sorted_set = sorted(s)
print(sorted_set)  # [1, 2, 3, 4, 5]

6. 对字典进行排序

对字典进行排序时,可以使用sorted()函数结合字典的items()方法。

dic = {'b': 1, 'd': 4, 'c': 3, 'a': 2}
sorted_dict = sorted(dic.items(), key=lambda x: x[1], reverse=True)
print(sorted_dict)  # [('d', 4), ('c', 3), ('a', 2), ('b', 1)]

以上是sorted()函数的一些用法和示例,它不仅可以用于排序,还可以用于查找最大值、最小值等操作,是Python中十分常用的函数之一。