匿名函数
一、什么是匿名函数
匿名函数就是没有名字的函数,使用一次就会被收回,加括号即可以运行
lambda x,y: x+y
-----------------------------------------------------------
<function __main__.<lambda>(x, y)>
res = (lambda x,y: x+y)(1,2)
print(res)
-------------------------------------------------------------
3
二、与内置函数连用
sorted():对容器进行从小到大排序
salary_list_dict = {'tank':2,'nick':5,'sean':8}
salary_list = list(salary_list_dict.items())
print(sorted(salary_list,key = lambda i:i[1]))
--------------------------------------------------------
[('tank', 2), ('nick', 5), ('sean', 8)]
max():找出容器中薪资最高的人
对应的还有min()
salary_list_dict = {'tank':2,'nick':5,'sean':8}
salary_list = list(salary_list_dict.items())
print(sorted(salary_list,key = lambda i:i[1]))
-------------------------------------------------------------
('sean', 8)
map():对容器中的薪资做一个映射
salary_list_dict = {'tank':2,'nick':5,'sean':8}
salary_list = list(salary_list_dict.items())
print(list(map(lambda i:i[1] + 2000,salary_list))) #让他们的工资都加2000
-------------------------------------------------------------
[2002, 2005, 2008]
filter():对容器中满足条件的允许进行筛选
salary_list_dict = {'tank':2,'nick':5,'sean':8}
salary_list = list(salary_list_dict.items())
print(list(filter(lambda i:i[1] <6,salary_list))) #输出薪资小于6的人名
-------------------------------------------------------------
[('tank', 2), ('nick', 5)]
工作原理
1.首先将可迭代对象变为迭代器对象
2.将i
当做参数传给第一个参数指定的函数,然后内置方法判断函数