Python中的sorted()函数:如何使用它来对列表/元组/字典进行排序
发布时间:2023-06-26 05:23:35
Python中的sorted()函数是用于排序的内置函数,它可以对列表、元组、字典等数据类型进行排序。sorted()函数根据传入的参数类型来处理数据,并且会生成一个新的排序后的列表。在本文中,我们将详细介绍如何使用sorted()函数来对列表、元组、字典进行排序。
1. 对列表排序
可以使用sorted()函数对列表进行排序,它会返回一个新的已排序列表。下面是一个简单的例子,演示如何对一个列表进行排序:
list1 = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_list1 = sorted(list1) print(sorted_list1)
输出结果为:
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
还可以按照逆序排列,只需要加入reverse=True参数即可。
sorted_list1 = sorted(list1, reverse=True) print(sorted_list1)
输出结果为:
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
2. 对元组排序
与列表类似,可以使用sorted()函数对元组进行排序。与列表不同的是,元组是不可变的数据类型,所以需要先将元组转换为列表,然后再排序即可。下面是一个例子:
tuple1 = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5) list1 = list(tuple1) sorted_list1 = sorted(list1) tuple2 = tuple(sorted_list1) print(tuple2)
输出结果为:
(1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9)
同样地,也可以通过加入reverse=True参数来逆序排列元组。
tuple1 = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5) list1 = list(tuple1) sorted_list1 = sorted(list1, reverse=True) tuple2 = tuple(sorted_list1) print(tuple2)
输出结果为:
(9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1)
3. 对字典排序
不同于列表和元组,字典不是一个有序的数据类型,它的元素是无序存储的。但可以通过sorted()函数对字典按照键或值进行排序,下面是一个例子:
dict1 = {'A': 5, 'C': 2, 'B': 3, 'D': 1}
sorted_dict1 = sorted(dict1.items(), key=lambda x: x[1])
print(sorted_dict1)
字典通过items()方法将键和值封装成为元组,被sorted()函数按照第二个元素进行排序。输出结果为:
[('D', 1), ('C', 2), ('B', 3), ('A', 5)]
同样地,也可以按照键来进行排序(即把x[1]更改为x[0])。
dict1 = {'A': 5, 'C': 2, 'B': 3, 'D': 1}
sorted_dict1 = sorted(dict1.items(), key=lambda x: x[0])
print(sorted_dict1)
输出结果为:
[('A', 5), ('B', 3), ('C', 2), ('D', 1)]
总结:
以上是sorted()函数在Python中的一些基本用法,它们可以帮助我们对列表、元组、字典等数据类型进行排序。需要注意的是,在对字典进行排序时,要先使用items()将字典转换为元组列表,然后根据键或值进行排序。而对于列表和元组,sorted()函数默认按照从小到大的顺序进行排序,也可以通过reverse=True参数来逆序排列。
