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

排序列表的函数sorted()

发布时间:2023-05-22 22:05:56

Python中有许多排序列表的函数,其中最著名的是sorted()函数。

sorted()函数是Python内置的函数之一,可用于对列表、元组、字典等可迭代对象进行排序,其返回值为排序后的新列表。

下面我们来详细介绍一下sorted()函数的用法。

sorted()函数的语法

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

sorted()函数的参数说明:

- iterable: 代表要排序的可迭代对象,如列表、元组、字典等。

- key: 排序的关键字(函数)。

- reverse: 是否倒序排序,默认为False,即升序排序。

sorted()函数的返回值

返回一个新的已排序的列表

使用示例 1:对列表排序

我们先来看一下对列表进行排序的示例:

list_1=[9,2,4,6,8,3,1,5,7]

print(sorted(list_1)) 

输出结果为:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

说明sorted()函数默认按升序排列。

使用示例 2:对元组排序

下面我们来看一下对元组进行排序的示例:

tuple_1=(9,2,4,6,8,3,1,5,7)

print(sorted(tuple_1))

输出结果为:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

与对列表排序的结果是一样的。

使用示例 3:对字典排序

下面我们来看一下对字典进行排序的示例:

dict_1={"name":"Tom","age":"18","gender":"male"}

print(sorted(dict_1))

输出结果为:

['age', 'gender', 'name']

说明sorted()函数对字典按键进行了排序。

使用示例 4:按值排序

现在我们来看一下如何按值进行排序。

dic_2={"a":1,"b":4,"c":5,"d":2,"e":3}

print(sorted(dic_2.items(),key=lambda x:x[1]))

输出结果为:

[('a', 1), ('d', 2), ('e', 3), ('b', 4), ('c', 5)]

说明sorted()函数对字典按值排序。

使用示例 5:按值倒序排序

如果我们想要按值倒序排序,应该怎么做呢?

dic_3={"a":1,"b":4,"c":5,"d":2,"e":3}

print(sorted(dic_3.items(),key=lambda x:x[1],reverse=True))

输出结果为:

[('c', 5), ('b', 4), ('e', 3), ('d', 2), ('a', 1)]

可以看到,现在我们得到了按值倒序排序的结果。

这里我们使用了lambda表达式,其中lambda x:x[1]表示按字典的值进行排序,x[1]表示取字典键的对应值。

总结:

- sorted()函数用于对可迭代对象进行排序。

- sorted()函数默认按升序排序,如果需要倒序排序,需要设置reverse=True。

- 如果要对字典按值进行排序,需要使用sorted()和lambda表达式。