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

Python中的“sorted()”函数及用法

发布时间:2023-05-31 04:07:42

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参数还可以按照自定义的规则进行排序。