sort()函数排序集合元素?
sort()函数是一种可用来在Python集合中排序元素的函数。Python中的集合可以是列表、元组、字典和集合。sort()函数可以用于排序列表、元组和集合,但无法用于排序字典。sort()函数可以对任何包含可比较元素的集合进行排序,包括数字、字母和字符串。以下是sort()函数的详细介绍。
sort()函数语法:
sort()函数是一个列表、元组和集合对象的成员函数。语法如下:
obj.sort([reverse=True|False],[key=函数名|lambda函数], [cmp=函数名])
其中:
· reverse:排序规则,reverse = True 降序,reverse = False 升序(默认)。
· key:其中的函数可以自定义排序规则。可以是一个函数或 lambda 函数。函数的结果将应用于列表中的每个元素,以排序的目的。
· cmp:用于比较的函数,用于比较两个元素。如果指定了 cmp,则不使用 key。
sort()函数进行升序排序:
sort()函数默认的排序方式是升序排序,当reverse参数不写或者写为False时,就会按照升序排序。以下是一个简单的例子展示了sort()函数进行升序排序的方法:
list_1=[4,8,2,6,1]
list_1.sort()
print(list_1)
运行上述代码,将会先输出[1,2,4,6,8],证明已经进行了升序排列。
sort()函数进行降序排序:
当reverse参数为True时,sort()函数将按照降序排序。以下是一个简单的例子来展示sort()函数进行降序排序:
list_2=[4,8,2,6,1]
list_2.sort(reverse=True)
print(list_2)
运行上述代码,将会先输出[8,6,4,2,1],证明已经按照降序排列。
sort()函数使用key参数自定义排序:
使用key参数我们可以自定义集合中元素的排序规则。如下例子中,我们定义了一个函数keyfunc(),用于对集合中元素进行排序:
def keyfunc(s):
return s.lower()
list_3 = ['Banana','apple','Orange','peach']
list_3.sort(key=keyfunc)
print(list_3)
运行上述代码,将会先输出[‘apple’,’Banana’,’Orange’,’peach’],其中我们定义的keyfunc()函数用于将单词转为小写后进行排序。
sort()函数与lambda函数:
Python中的lambda函数也可以用于对排序规则进行自定义,如下面的这个例子:
list_4 = ['Banana','apple','Orange','peach']
list_4.sort(key=lambda s:s.lower())
print(list_4)
运行上述代码,将会先输出[‘apple’,’Banana’,’Orange’,’peach’],其中我们定义的lambda函数与前面例子中所定义的keyfunc()函数效果相同。
sort()函数与cmp参数(已弃用):
cmp参数被弃用了,但在以前的版本中可以用来设置比较函数,如果要使用比较函数可以使用以下方式,其中lambda函数用于帮助我们设置比较:
list_5 = [4,5,6,1,2,3,8,9,7]
compare = lambda x,y: 1 if x < y else (-1 if x > y else 0)
list_5.sort(cmp=compare)
print(list_5)
运行上述代码,将会先输出[1,2,3,4,5,6,7,8,9],其中我们自定义的compare函数用于比较两个元素。
总结:
sort()函数是Python集合中常用的函数之一,可以用于对列表、元组和集合进行排序。sort()函数的主要参数有reverse、key和cmp,可以帮助我们灵活地控制排序规则。sort()函数对于字符串、数字等可比较的元素都可以做到完美的排序。
