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

Python函数——sorted()函数

发布时间:2023-09-28 04:00:58

sorted()函数是Python内置函数之一,它用于对可迭代对象进行排序操作。sorted()接受一个可迭代对象作为参数,并返回一个新的排序后的列表。

sorted()函数具有以下语法格式:sorted(iterable, key=None, reverse=False)

其中,iterable表示需要排序的可迭代对象,例如列表、元组、字符串等。key是可选参数,用于指定排序时使用的函数。如果指定了key函数,则sorted()会以可迭代对象的每个元素作为参数进行函数调用,根据返回值进行排序。reverse也是可选参数,默认为False,表示升序排序,如果设置为True,则表示降序排序。

下面是使用sorted()函数的几个示例:

示例1:对列表进行升序排序

numbers = [5, 2, 8, 3, 1]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 输出:[1, 2, 3, 5, 8]

示例2:对字符串进行升序排序

string = 'hello world'
sorted_string = sorted(string)
print(sorted_string)  # 输出:[' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']

示例3:对元组进行降序排序

students = [('Tom', 18), ('Alex', 20), ('John', 16)]
sorted_students = sorted(students, key=lambda x: x[1], reverse=True)
print(sorted_students)  # 输出:[('Alex', 20), ('Tom', 18), ('John', 16)]

在示例3中,我们传递了一个匿名函数给key参数,该函数返回元组中的第二个元素,即学生的年龄。这样就可以按照年龄的降序对学生进行排序。

使用sorted()函数进行排序时,原始的可迭代对象不会被修改,而是返回一个新的排序后的列表。这是因为在Python中,列表是可变的,而字符串和元组是不可变的。

需要注意的是,sorted()函数只能对可迭代对象进行排序,对于字典类型的对象无法直接进行排序。如果想对字典进行排序,可以先将字典转换为列表,再对列表进行排序。

总之,sorted()函数是一个非常有用的排序函数,它能够对可迭代对象进行排序,并返回一个新的排序后的列表。通过指定key参数,还可以根据特定的条件来进行排序。掌握sorted()函数的使用方法,对于实现排序功能非常方便。