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

Python的内置函数sorted使用详解

发布时间:2023-06-27 00:01:12

Python是一门强大的编程语言,在编写程序时我们通常需要排序。Python中有多种方法可以排序,其中一个是使用内置函数sorted()。本文将介绍sorted()函数的基本用法及常用参数。

## sorted()函数的基本用法

sorted()函数可以用于对列表、元组、字符串等可迭代对象进行排序。其基本语法如下:

sorted(iterable, key=None, reverse=False)

其中,iterable是要排序的可迭代对象,key是排序的关键字(默认为None),reverse用来指定排序是升序还是降序,默认为False(升序)。

sorted()函数不会改变原来的可迭代对象,而是返回一个新的排序后的对象。下面是sorted()函数的一些例子:

# 对列表进行排序
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_lst = sorted(lst)
print(sorted_lst) # 输出[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

# 对元组进行排序
tup = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
sorted_tup = sorted(tup)
print(sorted_tup) # 输出[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

# 对字符串进行排序
str = "hello, world"
sorted_str = sorted(str)
print(sorted_str) # 输出[',', ' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']

## key参数的使用

key参数用于指定排序的关键字。默认情况下,sorted()函数对可迭代对象进行升序排序。但是,如果我们想对可迭代对象按照其某个属性或函数的返回值进行排序,就需要使用key参数。

下面是使用key参数进行排序的一些例子:

# 按照字符串长度排序
lst = ["apple", "banana", "cherry", "durian"]
sorted_lst = sorted(lst, key=len)
print(sorted_lst) # 输出['apple', 'cherry', 'banana', 'durian']

# 按照学生成绩排序
students = [("Tom", 90), ("Jerry", 95), ("Lucy", 88), ("Ming", 92)]
sorted_students = sorted(students, key=lambda x:x[1], reverse=True)
print(sorted_students) # 输出[('Jerry', 95), ('Ming', 92), ('Tom', 90), ('Lucy', 88)]

上述例子中,第一个例子按照字符串长度进行排序,需要使用len函数作为key参数;第二个例子按照学生成绩进行排序,需要使用lambda函数作为key参数。

## reverse参数的使用

reverse参数用于指定排序是升序还是降序。默认情况下,reverse参数为False(升序),如果需要降序排序则需要将其设置为True。下面是使用reverse参数进行排序的例子:

# 对列表进行降序排序
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_lst = sorted(lst, reverse=True)
print(sorted_lst) # 输出[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

上述例子中,将reverse参数设置为True即可对列表进行降序排序。

## 总结

sorted()函数是Python中一个重要的内置函数,常用于对可迭代对象进行排序。该函数具有许多可选的参数,常见的有key和reverse参数,分别用于指定排序的关键字和排序方式。在实际编程中,我们可以灵活地使用sorted()函数来完成各种排序任务。