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

Python中的sorted()函数使用示例

发布时间:2023-06-03 12:05:56

在Python中,有许多不同的排序算法可供选择。其中,一个最常用的算法是快速排序。Python内置的sorted()函数使用快速排序算法,提供了一种简单、方便的方法来对列表进行排序。

sorted()函数的基本语法如下:

sorted(iterable[, key][, reverse])

参数说明:

- iterable:待排序的列表、元组、字典等可迭代对象。

- key:可选参数,用于指定排序的关键字。默认值为None。如果指定的话,将根据关键字对每个元素进行排序。

- reverse:可选参数,用于指定排序的顺序。如果为True,则按降序排序,否则按升序排序。默认为False。

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

1. 对一个列表进行升序排序

lst = [5, 2, 8, 1, 3]
sorted_lst = sorted(lst)
print(sorted_lst)   # 输出 [1, 2, 3, 5, 8]

2. 对一个列表进行降序排序

lst = [5, 2, 8, 1, 3]
sorted_lst = sorted(lst, reverse=True)
print(sorted_lst)   # 输出 [8, 5, 3, 2, 1]

3. 对一个元组进行升序排序

tup = (5, 2, 8, 1, 3)
sorted_tup = sorted(tup)
print(sorted_tup)   # 输出 [1, 2, 3, 5, 8]

4. 对一个字典进行按键升序排序

dic = {'name':'Lisa', 'age': 18, 'height': 165}
sorted_dic = sorted(dic)
print(sorted_dic)   # 输出 ['age', 'height', 'name']

5. 对一个字典进行按值降序排序

dic = {'name':'Lisa', 'age': 18, 'height': 165}
sorted_dic = sorted(dic.items(), key=lambda x:x[1], reverse=True)
print(sorted_dic)   # 输出 [('height', 165), ('age', 18), ('name', 'Lisa')]

在这个例子中,我们使用了items()方法将字典转换为包含键值对的元组列表。我们还指定了一个关键字函数key,用于对字典中的值进行排序。lambda函数用于从元组中提取值,并对值进行排序。然后我们将reverse参数设置为True,以指定降序排序。

6. 对一个列表中的字符串进行按长度升序排序

lst = ['apple', 'orange', 'banana', 'pear']
sorted_lst = sorted(lst, key=lambda x:len(x))
print(sorted_lst)   # 输出 ['pear', 'apple', 'orange', 'banana']

在这个例子中,我们使用了lambda函数将每个字符串转换为其长度。这将用作排序关键字。这将导致结果按长度升序排序。

总结:

这就是Python中使用sorted()函数进行排序的一些示例。sorted()函数可以对列表、元组、字典等可迭代对象进行排序。可以使用key参数指定排序的关键字,也可以使用reverse参数指定排序顺序。