zoukankan      html  css  js  c++  java
  • 内置函数和匿名函数

    #匿名函数和内置函数
    #匿名函数定义:为了解决那些功能很简单的需求而设计的一句话函数 lambda 一行必须写完


    lxx=lambda x,y:x+y
    print(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
    #面试题
    #1
    d=lambda p:p*2
    t=lambda p:p*3
    x=2
    x=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')) #可以使用内置函数zip
    x3=(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,dir
    str类型的代码执行: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




  • 相关阅读:
    吴恩达机器学习笔记——梯度下降算法(2)
    吴恩达机器学习笔记——梯度下降算法(1)
    Java面向对象
    实体框架
    Android Studio 3.4.1中使用com.android.support.v4.view.ViewPager提示不存在该类或程序闪退
    7、认识 Android Service
    安卓付费课程
    在Android Studio中如何添加GSON
    android studio 添加Volley
    android studio里面怎么看file explorer啊?
  • 原文地址:https://www.cnblogs.com/lxx99/p/11728484.html
Copyright © 2011-2022 走看看