Python中sorted()函数的使用方法及功能
在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参数,我们可以灵活地对排序进行控制,实现复杂的排序需求。
