在 Python 中,`sorted()` 函數(shù)用于對可迭代對象進(jìn)行排序并返回一個新的已排序列表。它接受一個可迭代對象作為參數(shù),并返回一個新的列表,其中包含了原始可迭代對象中的元素按照指定順序排序后的結(jié)果。
`sorted()` 函數(shù)的基本語法如下:
sorted(iterable, key=None, reverse=False)
其中,`iterable` 是要排序的可迭代對象,`key` 是一個可選的函數(shù),用于指定排序的依據(jù),`reverse` 是一個可選參數(shù),用于指定排序順序是否為降序,默認(rèn)為升序。
以下是一些使用 `sorted()` 函數(shù)的示例:
1. 對列表進(jìn)行升序排序:
my_list = [4, 2, 1, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list)
# 輸出: [1, 2, 3, 4, 5]
2. 對元組進(jìn)行降序排序:
my_tuple = (3, 1, 4, 2, 5)
sorted_tuple = sorted(my_tuple, reverse=True)
print(sorted_tuple)
# 輸出: (5, 4, 3, 2, 1)
3. 對字符串進(jìn)行按照字母順序排序:
my_string = "hello"
sorted_string = sorted(my_string)
print(sorted_string)
# 輸出: ['e', 'h', 'l', 'l', 'o']
4. 使用自定義的排序依據(jù):
my_list = [10, 5, 8, 3, 6]
sorted_list = sorted(my_list, key=lambda x: x % 2)
print(sorted_list)
# 輸出: [10, 8, 6, 5, 3]
在上述示例中,`key` 參數(shù)使用了一個匿名函數(shù) `lambda x: x % 2`,該函數(shù)指定了按照元素的奇偶性進(jìn)行排序,奇數(shù)在前,偶數(shù)在后。
請注意,`sorted()` 函數(shù)不會修改原始的可迭代對象,而是返回一個新的已排序的列表。如果需要在原地對列表進(jìn)行排序,可以使用列表的 `sort()` 方法。