Python的内置函数sorted使用详解
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()函数来完成各种排序任务。
