内置函数和匿名函数

丶灬走出姿态 提交于 2019-12-02 03:19:29
#匿名函数和内置函数#匿名函数定义:为了解决那些功能很简单的需求而设计的一句话函数   lambda  一行必须写完

 

lxx=lambda x,y:x+yprint(lxx(1,2))#匿名函数真的可以匿名#练习: 求最大的key值是dic={'x':1,'y':3}# def func(key):#     return dir[key]print(max(dic,key=lambda k:dic[k]))#未使用函数名也可以调用#可以用到的内置函数函数有:max,min,sorted,filter(开始的个数和结束的个数不一样) map#面试题#1d=lambda p:p*2t=lambda p:p*3x=2x=d(x)x=t(x)x=d(x)print(x)  #24#现在有两个元组((‘a'),('b') ) ,(('c'),('d')) 请使用python中的匿名函数生成列表[{'a':'c'},{'b','d'}]x1=(('a'),('b'))x2=(('c'),('d'))  #可以使用内置函数zipx3=(zip(x1,x2))# def func(tup):#     return {tup[0]:tup[1]}   保险起见先写出函数再转化为匿名函数# x4=map(func,x3)x4=map(lambda tup:{tup[0]:tup[1]},x3)x5=list(x4)print(x5)# for i in x4:#     print(i)  #再把元组弄出字典就好了#******************************一句话实现print(list(map(lambda  tup:{tup[0]:tup[1]},zip(x1,x2))))#第三题:以下代码的输出是什么def lxx():    return [lambda x:i*x for i in range(4)]   #应该想到生成器表达式    # return [lambda x:i*x ,lambda x:i*x, lambda x:i*x ,lambda x:i*x ]print([m(2) for m in lxx()])#结果:[6,6,6,6]内置函数:#55个#带key的有:map,max,filter,sorted,min其他:input,print,type,hash,open,import,dirstr类型的代码执行:eval,exec数字:bool,int,float,abs,divmod,min,max,sum,round,pow序列--列表和元祖相关的:list,tuple序列--字符串相关的:str,bytes,repr序列:reversed,slice数据集合--字典和集合:dect,set,frozenset数据集合:len,sorted,enumerate,zip,filter,map
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!