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

Python中sorted()函数的使用方法及功能

发布时间:2023-08-21 21:34:53

在Python中,sorted()是一个内置函数,用于对可迭代对象进行排序。它返回一个新的已排序的列表,而不改变原始的可迭代对象。

sorted()函数可以接受多种参数,包括列表、元组、字典、集合等可迭代对象。下面是sorted()函数的用法和功能:

1. 对列表进行排序

使用sorted()函数可以对包含数字、字符串等元素的列表进行排序。例如:

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

输出结果为:[1, 2, 3, 4, 6],即按照升序对列表进行排序。

2. 对元组进行排序

元组是一个不可变的序列,可以使用sorted()函数对元组进行排序。例如:

numbers = (4, 2, 6, 1, 3)
sorted_numbers = sorted(numbers)
print(sorted_numbers)

输出结果为:[1, 2, 3, 4, 6],同样按照升序对元组进行排序。

3. 对字典进行排序

字典是一种无序的键值对集合,sorted()函数默认对字典的键进行排序,返回一个排好序的键的列表。例如:

scores = {'Alice': 90, 'Bob': 80, 'Charlie': 95}
sorted_scores = sorted(scores)
print(sorted_scores)

输出结果为:['Alice', 'Bob', 'Charlie'],即按照字典键的升序进行排序。

如果想要根据字典的值进行排序,可以使用sorted()函数的key参数。例如:

sorted_scores = sorted(scores, key=lambda x: scores[x], reverse=True)
print(sorted_scores)

输出结果为:['Charlie', 'Alice', 'Bob'],即按照字典值的降序进行排序。

4. 对集合进行排序

集合是一种无序且不重复元素的容器,可以使用sorted()函数对集合进行排序。例如:

numbers = {4, 2, 6, 1, 3}
sorted_numbers = sorted(numbers)
print(sorted_numbers)

输出结果为:[1, 2, 3, 4, 6],同样按照升序对集合进行排序。

5. 自定义排序规则

sorted()函数的key参数可以接受一个函数,用于指定排序规则。该函数应接受一个可迭代对象的元素作为参数,并返回一个用于排序的值。例如:

students = [{'name': 'Alice', 'score': 90}, {'name': 'Bob', 'score': 80}, {'name': 'Charlie', 'score': 95}]
sorted_students = sorted(students, key=lambda x: x['score'], reverse=True)
print(sorted_students)

输出结果为:[{'name': 'Charlie', 'score': 95}, {'name': 'Alice', 'score': 90}, {'name': 'Bob', 'score': 80}],根据学生的分数降序排序。

总结一下,sorted()函数是Python中对可迭代对象进行排序的函数。它可以用于对列表、元组、字典、集合等对象进行排序,并且可以根据自定义的排序规则进行排序。通过使用key参数,我们可以灵活地对排序进行控制,实现复杂的排序需求。