1.lambda 表达式:也叫匿名函数
语法格式;
lambda 参数:表达式/返回值 lambda x : (x[0], x[-1])
lambda 参数: 表达式 => 返回值是匿名函数对象
data = lambda表达式 => 匿名函数有了一个名字data => data(x)
如果遇到一些比较简单的函数,可以使用lambda表达式来简化代码
# def function_name():
# return x[0], x[-1]
def func1(x):
return x[0], x[-1]
func_data = lambda x : x[0]
print(func1, type(func1))
print(func_data, type(func_data))
print(func1("123"))
print(func_data("123"))
2.list_data.sort(key=function)
sort中参数key : 指定的就是排序的规则 ;
key :传入的就是一个函数,
def, lambda sort => 取出的列表中的每一个元素,然后当做函数的参数传递给key(函数)
列表中有多少个元素就执行了多少次key(函数)
列表中所有元素经过函数之后的返回值,列表就有多少个元素,就有多少个返回值
列表中的元素和返回值有对应关系
然后安装返回值去排序,最后对应到我们列表中的元素
def sort_rule(x):
return x[1]
list_data.sort(key=sort_rule)
print(list_data)
3.lambda x: (x[1], x[-1])
如果是两个返回值,如果第一个返回值相等, 那么久按照第二个返回值进行再次排序 先按第一个返回值排序,排序完成之后, 如果第一个返回值相等,然后再按照第二个返回值排序
list_data.sort(key=lambda x: (x[1], x[-1]))
print(list_data)