欢迎访问宙启技术站
智能推送

Python中的sorted函数 - 对列表元素进行排序

发布时间:2023-07-01 04:12:05

在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()函数是对可迭代对象进行排序的有用工具。它可以让我们轻松地对列表元素进行排序,并提供了多种排序方式的选择,包括升序、降序以及自定义关键字函数。