Python中的sorted函数 - 对列表元素进行排序
在Python中,我们可以使用内置函数sorted()来对列表元素进行排序。sorted()函数接受一个可迭代对象作为参数,并返回一个新的已排序的列表对象。
sorted()函数有两种使用方法:
1. sorted(iterable)
2. sorted(iterable, key)
1. sorted(iterable)
sorted()函数的 个参数iterable是一个可迭代对象,比如列表、元组、字符串等。它会返回一个新的列表,包含了可迭代对象中的元素按照默认的升序排序后的结果。
示例代码1:
numbers = [3, 1, 5, 2, 4] sorted_numbers = sorted(numbers) print(sorted_numbers)
输出结果1:
[1, 2, 3, 4, 5]
上述代码中,我们定义了一个名为numbers的列表,并通过sorted()函数对其进行排序。sorted_numbers是一个新的已排序的列表,它按照升序排列了numbers列表中的元素。
2. sorted(iterable, key)
sorted()函数的第二个参数key是一个可选的函数,用于指定一个用于排序的关键字函数。这个关键字函数将应用于可迭代对象中的每个元素,返回一个可用于比较的值。sorted()函数将根据这个值来对元素进行排序。
示例代码2:
students = ["Tom", "John", "Amy", "Kevin"] sorted_students = sorted(students, key=len) print(sorted_students)
输出结果2:
["Tom", "Amy", "John", "Kevin"]
上述代码中,我们定义了一个名为students的列表,其中包含了学生的名字。我们希望按照学生名字的长度来对列表进行排序,因此使用了len函数作为关键字函数。sorted_students是一个新的已排序的列表,它按照学生名字的长度进行了排序。
除了升序排序,我们还可以通过指定参数reverse=True来进行降序排序。
示例代码3:
numbers = [3, 1, 5, 2, 4] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers)
输出结果3:
[5, 4, 3, 2, 1]
在上述代码中,我们将参数reverse设置为True,sorted()函数会以降序的方式对numbers列表进行排序。
总结:
Python中的sorted()函数是对可迭代对象进行排序的有用工具。它可以让我们轻松地对列表元素进行排序,并提供了多种排序方式的选择,包括升序、降序以及自定义关键字函数。
