python sorted()函数的key参数

一、首先介绍下sort()与sorted()的区别:

1、sort() 是 list 的方法,只有 list 能用,而sorted() 是内置函数,可以对所有可迭代的对象进行排序操作;sort()在对列表排序时需要单独使用,sort()方法是在原地对列表排序,是对原列表的直接操作,并不会返回一个新的列表。sort()方法需要单独使用,如果和赋值,打印等方法一起使用,结果会返回None
2、list 的 sort() 方法是原地操作,无返回值,而内置函数 sorted() 方法是返回一个新的 list。

二、sorted() 的用法

语法:
sorted(iterable, key=None, reverse=False)

参数:
iterable – 表示可以迭代的对象,例如可以是dict.items()、dict.keys()等。
key – 是一个函数,用来选取参与比较的元素。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

返回:
返回重新排序的列表。

示例①:已知一个列表,根据字典中的x ,由大到小排序这个列表

a = [{"x": 1, "y": 2}, {"x": 2, "y": 3}, {"x": 3, "y": 4}]
aa1 = sorted(a, key=lambda item: item["x"], reverse=True)
print(aa1)

python sorted()函数的key参数_第1张图片
示例②:已知一个列表,根据元组中的数字由小到大排序

b = [('b', 2), ('a', 3), ('c', 1), ('d', 4)]
b1 = sorted(b, key=lambda x: x[1], reverse=False)
print(b1)

python sorted()函数的key参数_第2张图片
示例③:已知一个字典,根据values来进行排序

my_dict = {'lilee': 25, 'age': 24, 'phone': 12}
print(my_dict.items())
b = sorted(my_dict.items(), key=lambda item: item[1], reverse=True)
print(b)

在这里插入图片描述

你可能感兴趣的:(python,python,开发语言,后端)