如何使用 Python 中的 sorted() 函数对序列进行排序?
发布时间:2023-06-10 23:39:21
在Python中,sorted()函数是用来对序列进行排序的。该函数返回一个新的已排序的列表,而不是修改原始列表。sorted()函数可以用于任何可迭代对象,包括列表、元组和字典。下面是sorted()函数的语法:
sorted(iterable, *, key=None, reverse=False)
其中:
- iterable:要排序的元素。可以是列表、元组、字典等可迭代对象。
- key:可选的参数,该参数用来指定排序的键,可以是任何函数,但是默认为None,意味着按照元素自身进行排序。
- reverse:可选的参数,默认为False,表示升序排列。如果设置成True,则按照降序排列。
下面是一些示例用法:
对列表进行升序排列:
nums = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] nums_sorted = sorted(nums) print(nums_sorted) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
对元组进行降序排列:
words = ("apple", "banana", "cherry", "date", "elderberry")
words_sorted = sorted(words, reverse=True)
print(words_sorted)
# 输出 ["elderberry", "date", "cherry", "banana", "apple"]
对字典进行排序,key参数指定按values排序:
fruits = {"apple": 3, "banana": 2, "cherry": 1, "date": 4}
fruits_sorted = sorted(fruits.items(), key=lambda x: x[1])
print(dict(fruits_sorted))
# 输出 {"cherry": 1, "banana": 2, "apple": 3, "date": 4}
在上面的例子中,我们使用items()方法将字典转换为元组列表。然后使用lambda函数,对于每个元组,按第二个元素(值)进行排序。最后使用dict函数将排序后的元组列表转换回字典。
sorted()函数是一种灵活、可定制的排序方法,它能够满足各种排序需求。为了更好地掌握sorted()函数,建议通过更多的实例去学习和掌握。
