lambda表达式

学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:

  1. # 普通条件语句
  2. if == :
  3. name = 'name1'
  4. else:
  5. name = 'name2'
  6.  
  7. # 三元运算
  8. name = 'name1' if == else 'name2'

对于简单的函数,也存在一种简便的表示方式,即:lambda表达式

  1. # 定义函数(普通方式)
  2. def func(arg):
  3. return arg +
  4.  
  5. # 执行函数
  6. result = func()
  7.  
  8. # ###################### lambda ######################
  9.  
  10. # 定义函数(lambda表达式)
  11. my_lambda = lambda arg : arg +
  12.  
  13. # 执行函数
  14. result = my_lambda()

lambda存在意义就是对简单函数的简洁表示

  1. # cal2 = lambda n : n*n
  2. # ret = cal2()
  3. # print(ret)
  4.  
  5. # def add(x, y): return x+y
  6. # add2 = lambda x,y : x+y
  7. # ret = add(, )
  8. # print(ret)

上面是匿名函数的函数用法。除此之外,匿名函数也不是浪得虚名,它真的可以匿名。在和其他功能函数合作的时候

  1. l=[,,,,,,,]
  2. print(max(l))
  3.  
  4. Output:
  5.  
  6. dic={'k1':,'k2':,'k3':}
  7. print(max(dic))
  8. print(dic[max(dic,key=lambda k:dic[k])])
  9.  
  10. Output
  11. k3
  1. res = map(lambda x:x**,[,,,,])
  2. for i in res:
  3. print(i)
  4.  
  5. 输出
  1. res = filter(lambda x:x>,[,,,,])
  2. for i in res:
  3. print(i)
  4.  
  5. 输出

面试题练一练

现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]

  1. t1 = (('a'),('b'))
  2. t2 = (('c'),('d'))
  3.  
  4. res = lambda t1,t2 : [{i,j}for i, j in zip(t1, t2)]
  5. print(res(t1, t2))

知识补给:python3 zip函数

zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象(可以用list转换)。

如果各个迭代器的元素不一致则返回列表长度与最短对象相同,利用*号操作符,可以将元组解压为列表。

语法:zip([iterable,...])   --- 一个或多个迭代器, 返回元组列表

  1. >>>a = [,,]
  2. >>> b = [,,]
  3. >>> c = [,,,,]
  4. >>> zipped = zip(a,b) # 返回一个对象
  5. >>> zipped
  6. <zip object at 0x103abc288>
  7. >>> list(zipped) # list() 转换为列表
  8. [(, ), (, ), (, )]
  9. >>> list(zip(a,c)) # 元素个数与最短的列表一致
  10. [(, ), (, ), (, )]
  11.  
  12. >>> a1, a2 = zip(*zip(a,b)) # 与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式
  13. >>> list(a1)
  14. [, , ]
  15. >>> list(a2)
  16. [, , ]

Python3-lamba表达式、zip函数的更多相关文章

  1. python3中的 zip()函数 和python2中的 zip()函数 的区别

    python3中的 zip()函数 和python2中的 zip()函数 的区别: 描述: zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象. ...

  2. Python3.x:zip()函数

    Python3.x:zip()函数 1,概述: zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表: 2,示例: (1).示例1: x = [1, 2, 3] y = [4, ...

  3. python3中的zip函数(转)

    原文地址:https://www.cnblogs.com/qqhfeng/p/5267352.html 在window,显示变量 print(x);而在linux中 print x 例如,有两个列表: ...

  4. python3中的zip函数

    zip函数的作用: zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,然后返回一个可迭代的zip对象. 这个可迭代对象可以使用循环的方式列出其元素 若多个可迭代对象的长 ...

  5. python中的zip()函数和map()函数

    一.zip()函数 1.语法: zip(iterable, ...) 参数说明: iterable,...-- 一个或多个迭代器; 在python2中: zip() 函数用于将可迭代的对象作为参数,将 ...

  6. 第11条:用zip函数同时遍历两个迭代器

    核心知识点: (1)内置的zip函数可以平行地遍历多个迭代器. (2)python3中地zip相当于生成器,会在遍历过程中逐次产生元祖.而python2中地zip则是直接把这些元祖完全生成好,并一次性 ...

  7. zip函数用于对列表对应元素打包成元组

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以 ...

  8. python3版本中的zip函数

    例如,有两个列表: 1 2 >>>a = [1,2,3] >>>b = [4,5,6] 使用zip()函数来可以把列表合并,并创建一个元组对的列表. 1 2 > ...

  9. 关于python3.4版本中的zip函数

    特别注意: 在window,显示变量 print(x);而在linux中 print x 例如,有两个列表: >>>a = [1,2,3] >>>b = [4,5, ...

随机推荐

  1. CodeForces121E 线段树上线段果

    http://codeforces.com/problemset/problem/121/E 题意: Petya 喜欢幸运数,幸运数只包含 4 和 7 这两个数字.例如 47,744,4 都是幸运数字 ...

  2. 收获,不止_Oracle读书笔记

    PMON:含义为Processes Monitor,是进程监视器,如果你在执行某些更新语句,未提交时进程崩溃了,这时PMON会自动回滚该操作,,无需你人工去执行ROLLBACK命令.除此之外还可以干预 ...

  3. docker 基础之私有仓库

    docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库.安装运行 docker-registry容器 在安装了 Docker 后,可以通过获取官方 registry 镜像来运行. ...

  4. Dubbo服务的运行方式

    1.使用Servlet容器运行(Tomcat.Jetty)等 ---不可取 缺点:增加复杂性(端口,管理) 浪费资源(内存) 2.自建Main方法类来运行(Spring容器) ---不建议(本地调试可 ...

  5. wxpython绘制音频

    #-*- coding: utf-8 -*- ############################################################################# ...

  6. java中变量关系

  7. vue-router导航钩子

    Vue路由中的导航钩子,可以用来拦截导航,让它完成跳转. 全局导航钩子 当一个导航触发时,全局的 before 钩子按照创建顺序调用.钩子是异步解析执行,此时导航在所有钩子 resolve 完之前一直 ...

  8. 042、用volume container 共享数据 (2019-03-05 周二)

    参考https://www.cnblogs.com/CloudMan6/p/7188479.html   volume container 是专门为其他容器提供 volume 的容器,他提供的卷也可以 ...

  9. linux 中 如何 搜索 指定目录 下 指定文件 的 指定内容

    开发时,经常遇到 全局查找某些代码 linux 中 如何 检索 某 目录下指定文件 的 指定内容如下: //.点为查找当前目录 下 的 所有 *.php 文件里 有 hello 的文件 find . ...

  10. 二十四、Linux 进程与信号---wait 函数

    24.1 wait 函数说明 24.1.1 waitpid---等待子进程中断或结束 waitpid(等待子进程中断或结束) 相关函数 wait,fork #include <sys/types ...