Python sorted()数据排序

  • Post category:Python

当我们需要对Python中的数据类型(例如列表、元组、字典等)进行排序时,可以通过使用sorted()函数来实现。sorted()函数可以对可迭代对象中的元素进行排序,并返回一个新的已排序的列表。下面是使用sorted()函数的方法及示例:

1. 使用方法

sorted(iterable, key=None, reverse=False)

sorted()函数包含三个参数:
– iterable:表示需要排序的可迭代对象,必须提供;
– key:表示用来排序的函数,可以不提供,默认为None,即按照元素自身进行排序;
– reverse:表示是否进行逆序排列,可以不提供,默认为False,即按照升序排列。

2. 示例说明

示例1:对列表进行升序排序

假设我们有一个由整数构成的列表,需要对其进行升序排序。可以使用如下代码:

lst = [5, 3, 9, 1, 7]
sorted_lst = sorted(lst)
print(sorted_lst)   # 输出:[1, 3, 5, 7, 9]

在上述代码中,我们首先给定了一个列表lst,然后使用sorted()函数对其进行升序排序,并将结果赋值给新的列表sorted_lst,最后打印输出了排序后的列表。

示例2:对字典中的值按照某一个关键字进行排序

假设我们有一个由名称和年龄构成的字典,需要按照年龄进行排序。可以使用如下代码:

dict1 = {'Tom': 25, 'Bob': 18, 'Alice': 22, 'Kate': 30}
sorted_dict = sorted(dict1.items(), key=lambda x: x[1])
print(sorted_dict)   # 输出:[('Bob', 18), ('Alice', 22), ('Tom', 25), ('Kate', 30)]

在上述代码中,我们首先给定了一个字典dict1,然后使用sorted()函数对其进行排序。需要注意的是,我们在sorted()函数中输入的是字典的.items(),这样会将字典转化为一个由(key, value)对组成的元组列表,这样更容易使用lambda函数对元组中的value进行排序。在key参数中使用lambda函数表达式”x[1]”,表示对元组中的第二个元素(即年龄)进行排序。最后打印输出了排序后的字典。

综上,使用sorted()函数可以对Python中的可迭代对象进行排序,并且可根据需要定义排序规则。