Python中的sorted()函数用法及实例应用
sorted()函数是Python内置的一个函数,用于对列表、元组、字典和集合进行排序操作。它可以按照升序或降序对元素进行排序,并返回一个新的已排序序列。
sorted(iterable, key=None, reverse=False)
参数:
1. iterable:要排序的可迭代对象,可以是列表、元组、字典或集合。
2. key:用于排序的函数,可以根据指定的函数来排序。
3. reverse:表示排序顺序,reverse=True表示降序排序,reverse=False表示升序排序。
sorted()函数返回一个新的已排序序列,而不会改变原来的序列。
下面是sorted()函数的几种用法及实例应用:
1. 对列表进行排序:
# 升序排序
nums = [4, 2, 7, 1, 9]
sorted_nums = sorted(nums)
print(sorted_nums) # 输出:[1, 2, 4, 7, 9]
# 降序排序
sorted_nums_reverse = sorted(nums, reverse=True)
print(sorted_nums_reverse) # 输出:[9, 7, 4, 2, 1]
2. 对元组进行排序:
# 升序排序
letters = ('b', 'd', 'c', 'a')
sorted_letters = sorted(letters)
print(sorted_letters) # 输出:['a', 'b', 'c', 'd']
3. 对字典进行排序:
# 按键进行升序排序
scores = {'Tom': 90, 'Jack': 80, 'Alice': 95}
sorted_scores = sorted(scores)
print(sorted_scores) # 输出:['Alice', 'Jack', 'Tom']
# 按值进行降序排序
sorted_scores_reverse = sorted(scores, key=scores.get, reverse=True)
print(sorted_scores_reverse) # 输出:['Alice', 'Tom', 'Jack']
4. 对集合进行排序:
# 升序排序
names = {'Tom', 'Jack', 'Alice'}
sorted_names = sorted(names)
print(sorted_names) # 输出:['Alice', 'Jack', 'Tom']
可以看到,sorted()函数对列表和元组默认按元素的大小进行升序排序,对字典默认按键进行升序排序,对集合默认按元素大小进行升序排序。如果需要更复杂的排序方式,可以通过key参数传入一个自定义的排序函数来实现。
例如,要对一个字符串列表按字符串的长度进行降序排序:
strings = ['python', 'java', 'c']
sorted_strings = sorted(strings, key=len, reverse=True)
print(sorted_strings) # 输出:['python', 'java']
排序函数为len,表示按字符串的长度进行排序,而reverse参数为True,表示按降序排序。
sorted()函数在实际开发中非常有用,可以灵活地对各种数据类型进行排序操作。它不仅简单易用,还可以通过自定义排序函数实现各种复杂的排序需求,非常方便。
