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

在Python中使用sorted()函数对列表进行排序的方法。

发布时间:2023-06-15 15:48:19

sorted()是Python内置函数之一,可以用于对列表进行排序。sorted()函数默认按照升序对列表进行排序,因此,如果需要按照降序排列,请使用reverse=True参数。

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

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

其中,iterable是要排序的可迭代对象,可以是列表、元组、字符串等;key是可选参数,用于指定排序时的关键字,reverse是可选参数,默认为False,表示升序排列,设置为True表示降序排列。

1. 升序排列

首先看一个简单的例子,对一个列表进行排序:

numbers = [3, 5, 1, 2, 6, 4]
print(sorted(numbers))

输出结果为:

[1, 2, 3, 4, 5, 6]

2. 降序排列

如果需要按照降序排列,可以设置reverse=True参数:

numbers = [3, 5, 1, 2, 6, 4]
print(sorted(numbers, reverse=True))

输出结果为:

[6, 5, 4, 3, 2, 1]

3. 对元组进行排序

除了对列表进行排序,我们还可以对元组进行排序:

tup = ('apple', 'banana', 'orange', 'peach')
print(sorted(tup))

输出结果为:

['apple', 'banana', 'orange', 'peach']

4. 设置关键字排序

如果需要按照某一个关键字进行排序,可以通过设置key参数来实现。例如,我们可以按照字符串长度进行排序:

strlist = ['hello', 'world', 'python', 'good', 'job']
print(sorted(strlist, key=len))

输出结果为:

['good', 'job', 'hello', 'world', 'python']

5. 排序复杂结构

当列表中元素不是基本类型时,如字典、自定义对象等,我们需要通过设置key参数来指定排序规则。例如,我们可以对列表中的字典按照某一个key值进行排序:

students = [{'name': 'Tom', 'age': 13}, {'name': 'Jack', 'age': 11}, {'name': 'Amy', 'age': 15}]
sorted_students = sorted(students, key=lambda x:x['age'])
print(sorted_students)

输出结果为:

[{'name': 'Jack', 'age': 11}, {'name': 'Tom', 'age': 13}, {'name': 'Amy', 'age': 15}]

上面的例子中,我们使用lambda表达式指定了以字典中的age值进行排序。

总之,sorted()函数非常方便,可用于各种排序场景,包括对基本数据类型和复杂数据类型进行排序。