Python中的“sorted()”函数及用法
Python中的“sorted()”函数是一种在给定序列中进行排序的内置函数,它可以接受各种可迭代的对象作为输入,并根据指定的排序算法进行排列。
“sorted()”函数的基本用法是:sorted(iterable, key=None, reverse=False)
1. iterable:需要排序的序列,可以是列表、元组、字典、集合等。
2. key:可选参数,用于指定排序的依据,可以是一个函数或lambda表达式,其返回值将用于排序。
3. reverse:可选参数,是一个布尔值,用于控制是否对排序结果进行逆序排列,默认为False表示升序排列。
下面我们通过实例来详细介绍“sorted()”函数的用法。
# 1. 对列表进行排序
a = [5, 7, 6, 3, 4, 1, 2]
b = sorted(a)
print(b) # [1, 2, 3, 4, 5, 6, 7]
# 2. 对元组进行排序
a = (5, 7, 6, 3, 4, 1, 2)
b = sorted(a)
print(b) # [1, 2, 3, 4, 5, 6, 7]
# 3. 对字符串进行排序
a = "hello world"
b = sorted(a)
print(b) # [' ', 'd', 'e', 'h', 'l', 'l', 'o', 'o', 'r', 'w']
# 4. 对字典按照键进行排序
a = {"b": 2, "a": 1, "c": 3}
b = sorted(a)
print(b) # ['a', 'b', 'c']
# 5. 对字典按照值进行排序
a = {"b": 2, "a": 1, "c": 3}
b = sorted(a, key=lambda x: a[x])
print(b) # ['a', 'b', 'c']
# 6. 对列表中的字典进行排序
a = [{"name": "Tom", "age": 20}, {"name": "Jack", "age": 18}, {"name": "Rose", "age": 22}]
b = sorted(a, key=lambda x: x["age"])
print(b) # [{'name': 'Jack', 'age': 18}, {'name': 'Tom', 'age': 20}, {'name': 'Rose', 'age': 22}]
# 7. 对列表中元素的第二个值进行排序
a = [(1, 2), (3, 1), (2, 4), (4, 3)]
b = sorted(a, key=lambda x: x[1])
print(b) # [(3, 1), (1, 2), (4, 3), (2, 4)]
# 8. 对列表中元素的第二个值进行逆序排列
a = [(1, 2), (3, 1), (2, 4), (4, 3)]
b = sorted(a, key=lambda x: x[1], reverse=True)
print(b) # [(2, 4), (4, 3), (1, 2), (3, 1)]
总结:使用“sorted()”函数可以轻松地对各种类型的对象进行排序,并且通过指定key参数还可以按照自定义的规则进行排序。
