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

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参数来逆序排列。