在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()函数非常方便,可用于各种排序场景,包括对基本数据类型和复杂数据类型进行排序。
