排序列表的函数sorted()
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表达式。
