Python sorted函数及用法
发布时间:2023-06-09 15:03:00
发布人:yyy
在 Python 中,`sorted()` 函数用于对可迭代对象进行排序并返回一个新的已排序列表。它接受一个可迭代对象作为参数,并返回一个新的列表,其中包含了原始可迭代对象中的元素按照指定顺序排序后的结果。
`sorted()` 函数的基本语法如下:
sorted(iterable, key=None, reverse=False)
其中,`iterable` 是要排序的可迭代对象,`key` 是一个可选的函数,用于指定排序的依据,`reverse` 是一个可选参数,用于指定排序顺序是否为降序,默认为升序。
以下是一些使用 `sorted()` 函数的示例:
1. 对列表进行升序排序:
my_list = [4, 2, 1, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list)
# 输出: [1, 2, 3, 4, 5]
2. 对元组进行降序排序:
my_tuple = (3, 1, 4, 2, 5)
sorted_tuple = sorted(my_tuple, reverse=True)
print(sorted_tuple)
# 输出: (5, 4, 3, 2, 1)
3. 对字符串进行按照字母顺序排序:
my_string = "hello"
sorted_string = sorted(my_string)
print(sorted_string)
# 输出: ['e', 'h', 'l', 'l', 'o']
4. 使用自定义的排序依据:
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` 参数使用了一个匿名函数 `lambda x: x % 2`,该函数指定了按照元素的奇偶性进行排序,奇数在前,偶数在后。
请注意,`sorted()` 函数不会修改原始的可迭代对象,而是返回一个新的已排序的列表。如果需要在原地对列表进行排序,可以使用列表的 `sort()` 方法。