📅  最后修改于: 2023-12-03 15:34:24.360000             🧑  作者: Mango
sorted()
函数在Python中,sorted()
函数是一个内置函数,它可以用于对可迭代对象进行排序,并返回一个新的排序后的列表。
需要注意的是,sorted()
函数的原始数据不会被改变,而是返回新的排好序的列表。
以下是sorted()
函数的基本用法:
sorted(iterable, key=None, reverse=False)
其中:
iterable
:指定要排序的对象,可以是列表、元组、字符串、集合、字典等可迭代对象。key
:指定排序的依据,可以是一个函数或Lambda表达式。reverse
:默认排序是升序,reverse=True
可以实现降序排序。a = [5, 2, 8, 9, 1, 3]
print(sorted(a)) # [1, 2, 3, 5, 8, 9]
print(sorted(a, reverse=True)) # [9, 8, 5, 3, 2, 1]
b = "zAbcDXbAC"
print(sorted(b)) # ['A', 'D', 'X', 'a', 'b', 'b', 'c', 'z']
print(sorted(b, key=str.lower)) # ['a', 'b', 'b', 'c', 'D', 'X', 'z', 'A', 'C']
c = {'name': 'Tom', 'age': 20, 'score': 80}
print(sorted(c)) # ['age', 'name', 'score']
print(sorted(c.items())) # [('age', 20), ('name', 'Tom'), ('score', 80)]
以上示例演示了sorted()
函数的基本用法,除了提供reverse
参数来实现降序排序外,还可以通过key
参数来定义一个函数或Lambda表达式来实现自定义的排序规则。
通过Lambda函数可以方便的实现复杂的排序规则,以下是一个示例:
students = [('Tom', 20, 80), ('Jack', 18, 90), ('Bob', 19, 70)]
sorted_students = sorted(students, key=lambda student: student[2], reverse=True)
print(sorted_students)
输出:
[('Jack', 18, 90), ('Tom', 20, 80), ('Bob', 19, 70)]
在上面的代码中,我们使用了Lambda函数来定义对元组的第3个元素进行排序的规则。
sorted()
函数是Python内置的一个排序函数,可以对列表、元组、字符串、集合、字典等对象进行排序,使用时可以通过key
参数定义复杂的排序规则,返回值是一个新的排序后的列表。