本篇文章给大家带来的内容是关于Python中lambda表达式的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一:匿名函数的定义

lambda parameter_list: expression

二:三元表达式

条件为真时返回的结果 if 条件判断 else 条件为假的时候返回的结果

三:map

map(func(arg1, arg2...), list1_arg1, list2_arg2),对后面输入的list分别执行前面的函数(数学的映射)

四:reduce

reduce(func(arg1, arg2...), list1_arg, init_value),连续计算,连续调用lambda表达式

五:filter

filter(func(arg1, arg2...), list1_arg1)当条件满足的时候数据会被过滤出来!

六:函数式编程和命令式编程def

if --else

for

map reduce filter

lambda

函数式编程的思想。。。。

命令式编程的思想。。。。

函数式编程关心数据的映射,命令式编程关心解决问题的步骤

函数式编程:

(1)指的是函数与其他数据类型一样,处于平等地位,可以赋值给其他变量,也可以作为参数,传入另一个函数,或者作为别的函数的返回值。

(2) 只用"表达式",不用"语句"from functools import reduce

# ----------------------------------------------------------------#

# 匿名函数的定义

# ----------------------------------------------------------------#

def add(x, y):

"""

add x and y

:param x: x can be str or num

:param y: y can be str or num

:return: x+y

"""

return x + y

# lambda parameter_list: expression

user_sum = lambda arg1, arg2: arg1 + arg2

my_sum = user_sum(2, 2)

print(my_sum)

# ----------------------------------------------------------------#

# 三元表达式

# ----------------------------------------------------------------#

a, b = 1, 2

r = a if a > b else b

print(r)

# ----------------------------------------------------------------#

# map(func, list),对后面输入的list分别执行前面的函数(数学的映射)

# ----------------------------------------------------------------#

myListMap1 = [1, 2, 3, 4]

myNewListMap1 = map(lambda x: x ** 2, myListMap1) # 返回为map类型的数据结构

print(type(myNewListMap1))

print('myNewListMap1:', list(myNewListMap1)) # 转换为list

# 两个或者多个参数的map函数的使用

# 当两个参数种元素的个数不相同的时候会截断

myListMap2 = [1, 2, 3, 4]

myNewListMap2 = map(lambda x, y: x + y, myListMap1, myListMap2)

print('myNewListMap2:', list(myNewListMap2))

# ----------------------------------------------------------------#

# reduce(func, list)连续计算,连续调用lambda表达式

# ----------------------------------------------------------------#

myListReduce = [1, 2, 3, 4]

# 把list中的值一个一个放进lambda中

r = reduce(lambda x, y: x + y, myListReduce)

print(r)

# 对第一个函数参数进行初始化

r = reduce(lambda x, y: x + y, myListReduce, 10)

print(r)

# filter

myListFilter = [3, 5, 6, 7, 8, 9, 10]

myNewListFilter = filter(lambda x: x % 2 == 1, myListFilter)

print('myNewListFilter:', list(myNewListFilter))

list_x = [1, 1, 0, 0]

filter_list = filter(lambda x: True if x == 1 else False, list_x)

print(list(filter_list))

php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)相关推荐

  1. python中len用法_简单介绍Python中的len()函数的使用

    简单介绍Python中的len()函数的使用 函数:len() 1:作用:返回字符串.列表.字典.元组等长度 2:语法:len(str) 3:参数:str:要计算的字符串.列表.字典.元组等 4:返回 ...

  2. Python中的 if 语句简单介绍,中英文完整理解

    来学习Python中的if语句,用英文如何表达?看看else究竟是留还是省略? Python 中的if语句可以省略else吗?if 后面的表达式求值结果是什么类型?

  3. python中elif和while简单介绍及注意事项(含笔记)

    一.elif 想一想: if能完成当xxx时做事情:if-else能完成当xxx时做事情1,否则做事情2; 如果有这样一种情况:当xxx1时做事情1,当xxx2时做事情2,当xxx3时做事情3,那该怎 ...

  4. python shelve模块_Python中shelve模块的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中shelve模块的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. shelve:对象持久化的保存的模块,将对象保存到文件 ...

  5. python codecs_python中转换模块codecs的讲解(附示例)

    本篇文章给大家带来的内容是关于python中转换模块codecs的讲解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 0.编码 编码转换时,通常需要以unicode作为中间 ...

  6. python使用函数的优点-Lambda表达式在Python中的优点和缺点

    学过python的人,相信都接触过Lambda表达式.本文就来谈谈Lambda表达式在Python中的优点和缺点.一方面,Lambda函数的减少了代码的行数,方便又简洁.另一方面,Lambda表达式有 ...

  7. Python中lambda表达式的优缺点及使用场景

    lambda表达式是什么? lambda 表达式是 Python 中创建匿名函数的一个特殊语法. 称 lambda 语法本身为 lambda 表达式,而它返回的函数我称之为 lambda 函数,或者称 ...

  8. python中lambda的使用

    python中lambda的使用 lambda 表达式可以用来声明匿名函数.lambda 函数是一种简单的.在同一行中定义函数的方法.lambda 函数实际生成了一个函数对象.lambda 表达式只允 ...

  9. python中lambda()的用法_python中lambda()的用法

    在C++11和C#中都有匿名函数的存在.下面看看在python中匿名函数的使用. 1.lambda只是一个表达式,函数体比def简单很多. 2.lambda的主体是一个表达式,而不是一个代码块.仅仅能 ...

最新文章

  1. python补齐空格_如何提高使用Python填补时间序列和数据列表中空白的性能
  2. 未排序正整数组中累加和为指定值的最长子数组长度
  3. mysql 乐观锁 脏读_mysql 丢失更新1和2、脏读、不可重复读和幻读 事务隔离级别 悲观锁 乐观锁...
  4. here文档 here doc EOF重定向
  5. 使用BigQuery分析GitHub上的C#代码
  6. win8开发中需要用到一些系统版本之类的统计信息,总结如下。
  7. flex布局_flex布局的 flex(felx-grow、flex-shrink、flex-basis)详解
  8. 在场景中添加光线——添加HLSL Vertex Shading
  9. 几个接下来要解决的问题
  10. 如何去实现机械灵巧手玩魔方和弹钢琴_单手解魔方效果惊艳,OpenAI发布最强机器手...
  11. 人工智能就是计算机科学的英文,AI(人工智能)的英文全称?AI指什么,包含什么?
  12. 光模块测试CEI-28G-VSR 浅析1---背景基础介绍
  13. 《亲密关系》笔记(1)
  14. Xbox360有线手柄
  15. Python excel数据处理之公式---openpyxl
  16. outlook邮箱邮件大小限制_如何解除OutLook邮件附件大小限制?成功发送大附件的邮件...
  17. mysql 备份库的shell_shell脚本之 备份mysql数据库
  18. Cadence导出gds文件
  19. Linux:CPU频率调节模式以及降频方法简介
  20. 开源 | 携程机票BDD UI Testing框架 - Flybirds

热门文章

  1. bl小说里面有个机器人管家_机器人也有攀登者,登顶珠峰的机器人来了!独造机器人管家...
  2. 本题要求实现函数输出n行数字金字塔。_练习5-3 数字金字塔 (15分)
  3. 计算机应用基础案例教程总结,计算机应用基础案例教程
  4. netstat查看linux运行的端口,查看哪些端口被打开 netstat -anp
  5. oracle 增加间隔分区,oracle分区表之间隔分区(oracle 11g) - 漫兮网
  6. wordpress实现搜索页关键词高亮
  7. 【STC15库函数上手笔记】2、GPIO
  8. 【51单片机快速入门指南】9:省电模式(低功耗)
  9. Python网络编程中的select 和 poll I/O复用的简单使用
  10. c# 2.0实现摄象头视频采集,拍照,录象