目录
第八章、函数进阶之字典生成式与匿名函数
一、 字典生成式一般与zip连用
压缩后的每一个元素是元组类型的keys=["name","age","gender"]values=["nick",19,"male"]res=zip(keys,values)for i in res: print(i) print(type(i))print(res)
('name', 'nick')('age', 19) ('gender', 'male')
二、匿名函数
1. 什么是函数
匿名函数就是没有名字的函数,使用一次就会被回收,加括号就可以运行
res = (lambda x,y: x+y)(1,2)print(res)-------------------------------------------------------------3
2. 与内置函数连用
storted():对容器进行从小到大排序
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])) #把salary_list变成迭代器,取出所有元素i,i[1]就是元组的第二个值
[('tank', 2), ('nick', 5), ('sean', 8)]
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]
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)]
工作原理:
首先将可迭代对象变为迭代器对象
将i当做参数传给第一个参数指定的函数,然后内置方法判断函数