广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python函数式编程之lambda表达
  • 136
分享到

Python函数式编程之lambda表达

函数Pythonlambda 2023-01-30 22:01:50 136人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

一:匿名函数的定义 lambda parameter_list: expression二:三元表达式 条件为真时返回的结果 if 条件判断 else 条件为假的时候返回的结果三:map map(func(arg1, ar

一:匿名函数的定义
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) 只用"表达式",不用"语句"

Code:
 1 from functools import reduce
 2 # ----------------------------------------------------------------#
 3 #   匿名函数的定义
 4 # ----------------------------------------------------------------#
 5 
 6 
 7 def add(x, y):
 8     """
 9     add x and y
10     :param x: x can be str or num
11     :param y: y can be str or num
12     :return:  x+y
13     """
14     return x + y
15 
16 
17 # lambda parameter_list: expression
18 user_sum = lambda arg1, arg2: arg1 + arg2
19 
20 my_sum = user_sum(2, 2)
21 print(my_sum)
22 
23 # ----------------------------------------------------------------#
24 #   三元表达式
25 # ----------------------------------------------------------------#
26 a, b = 1, 2
27 r = a if a > b else b
28 print(r)
29 
30 # ----------------------------------------------------------------#
31 #   map(func, list),对后面输入的list分别执行前面的函数(数学的映射)
32 # ----------------------------------------------------------------#
33 
34 myListMap1 = [1, 2, 3, 4]
35 myNewListMap1 = map(lambda x: x ** 2, myListMap1)  # 返回为map类型的数据结构
36 print(type(myNewListMap1))
37 print('myNewListMap1:', list(myNewListMap1))    # 转换为list
38 
39 
40 # 两个或者多个参数的map函数的使用
41 # 当两个参数种元素的个数不相同的时候会截断
42 myListMap2 = [1, 2, 3, 4]
43 myNewListMap2 = map(lambda x, y: x + y, myListMap1, myListMap2)
44 print('myNewListMap2:', list(myNewListMap2))
45 
46 
47 # ----------------------------------------------------------------#
48 #   reduce(func, list)连续计算,连续调用lambda表达式
49 # ----------------------------------------------------------------#
50 
51 myListReduce = [1, 2, 3, 4]
52 # 把list中的值一个一个放进lambda中
53 r = reduce(lambda x, y: x + y, myListReduce)
54 print(r)
55 
56 # 对第一个函数参数进行初始化
57 r = reduce(lambda x, y: x + y, myListReduce, 10)
58 print(r)
59 
60 # filter
61 myListFilter = [3, 5, 6, 7, 8, 9, 10]
62 myNewListFilter = filter(lambda x: x % 2 == 1, myListFilter)
63 print('myNewListFilter:', list(myNewListFilter))
64 
65 list_x = [1, 1, 0, 0]
66 filter_list = filter(lambda x: True if x == 1 else False, list_x)
67 print(list(filter_list))

 

 

 

 

--结束END--

本文标题: Python函数式编程之lambda表达

本文链接: https://www.lsjlt.com/news/179887.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python函数式编程之lambda表达
    一:匿名函数的定义 lambda parameter_list: expression二:三元表达式 条件为真时返回的结果 if 条件判断 else 条件为假的时候返回的结果三:map map(func(arg1, ar...
    99+
    2023-01-30
    函数 Python lambda
  • Java 函数式编程与 Lambda 表达式
    文章目录 函数式编程与Lambda表达式 背景介绍 文章目的 目标受众 技术原理及概念 基本概念解释 相关技术比较 ...
    99+
    2023-10-09
    java scala 开发语言
  • 详解Java函数式编程和lambda表达式
    目录为什么要使用函数式编程JDK8接口新特性函数接口方法引用类型推断变量引用级联表达式和柯里化为什么要使用函数式编程 函数式编程更多时候是一种编程的思维方式,是种方法论。函数式与命令...
    99+
    2022-11-12
  • 【Python】python map()函数和lambda表达式
    python map(fun,[arg]+)函数最少有两个参数,第一参数为一个函数名,第二个参数是对应的这个函数的参数(一般为一个或多个list)>>>def fun(x):...  &nbs...
    99+
    2023-06-02
  • Java中使用Lambda表达式和函数编程示例
    目录1、简单介绍 2、Lambdas和Scopes3、Lambdas与局部变量4、Lambda体与局部变量5、Lambdas和'This'和'Super'关键字6、Lambdas和E...
    99+
    2022-11-12
  • python数据操作之lambda表达式详情
    目录1 前言2 lambda 的特性3 lambda 的一些用法3.1 map 函数3.2 reduce 函数3.3 sorted 函数3.4 filter 函数4 总结1 前言 在...
    99+
    2022-11-10
  • LINQ教程之使用Lambda表达式
    C#3.0(.NET3.5)中引入了Lambda表达式和LINQ。Lambda表达式是使用一些特殊语法表示匿名方法的较短方法。 一、最基本的Lambda表达式语法如下: (参数列表)...
    99+
    2022-11-13
  • 如何使用Lambda表达式编写递归函数
    这篇文章主要介绍“如何使用Lambda表达式编写递归函数”,在日常操作中,相信很多人在如何使用Lambda表达式编写递归函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Lambda表达式编写递归函数...
    99+
    2023-06-17
  • Java Lambda表达式常用的函数式接口
    目录Supplier接口Consumer接口Predicate接口Function接口BiFunction接口基本数据类型Supplier相关的接口Consumer相关的接口Pred...
    99+
    2022-11-13
  • Java特性 Lambda 表达式和函数式接口
    目录Java Lambda表达式起源&概念语法简单例子Lambda简化Runnable例子代码分析自定义接口实现lambda函数式接口概念备注格式@FunctionalInt...
    99+
    2022-11-13
  • 详解Kotlin 高阶函数 与 Lambda 表达式
    详解Kotlin 高阶函数 与 Lambda 表达式高阶函数(higher-order function)是一种特殊的函数, 它接受函数作为参数, 或者返回一个函数. 这种函数的一个很好的例子就是 lock() 函数, 它的参数是一个锁对象...
    99+
    2023-05-31
    kotlin 高阶函数 lambda
  • 深入理解Lambda表达式与函数式接口
    Java8被称作Java史上变化最大的一个版本。其中包含很多重要的新特性,最核心的就是增加了Lambda表达式和Stream API。这两者也可以结合在一起使用。【推荐学习:java视频教程】首先来看下什么是Lambda表达式。Lambda...
    99+
    2016-02-15
    java入门 java java8 lambda 函数式编程
  • C#中的匿名函数、lambda表达式解读
    目录C# 匿名函数、lambda表达式、Linq查询一、匿名函数的使用二、lambda表达式总结C# 匿名函数、lambda表达式、Linq查询 一、匿名函数的使用 匿名函数是一个&...
    99+
    2023-01-28
    C#匿名函数 C# lambda表达式 C# lambda
  • Python入门教程(二十)Python的Lambda表达式
    目录语法lambda 函数可接受任意数量的参数:为何使用 Lambda 函数?lambda 函数是一种小的匿名函数。 lambda 函数可接受任意数量的参数,但只能有一个表达式。 语...
    99+
    2023-05-17
    Python 表达式 Python Lambda
  • Java8中函数式接口与Lambda表达式的特性
    今天就跟大家聊聊有关Java8中函数式接口与Lambda表达式的特性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是Lambda表达式,java8为什么使用Lambda表达式?“...
    99+
    2023-05-31
    java8 函数式接口 lambda
  • JAVA中Lambda表达式与函数式接口怎么用
    这篇文章主要为大家展示了“JAVA中Lambda表达式与函数式接口怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JAVA中Lambda表达式与函数式接口怎么用”这篇文章吧。Lambda表达...
    99+
    2023-06-29
  • C++11 lambda(匿名函数)表达式详细介绍
    目录前言概念及基本用法捕获变量lambda表达式类型声明式的编程风格总结前言 Lambda(匿名函数)表达式是C++11最重要的特性之一,lambda来源于函数式编程的概念,也是现代...
    99+
    2022-11-13
  • Kotlin高阶函数与Lambda表达式示例详解
    目录正文1.函数类型2.高阶函数3.系统标准高阶函数4.Lambda表达式正文 Kotlin中函数都是头等的,这意味着它可以存储在变量与数据结构中、作为参数传递给其他高阶函数以及从...
    99+
    2022-12-08
    Kotlin 高阶函数Lambda Kotlin Lambda
  • C# 本地函数与 Lambda 表达式详细介绍
    目录1、C# 本地函数与 Lambda 表达式2、Lambda 表达式3、本地函数4、那么,局部函数的目的是什么?1、C# 本地函数与 Lambda 表达式 C# 局部函数通常被视为...
    99+
    2022-11-12
  • Python函数式编程之闭包
    -------------------------函数式编程之*******闭包------------------------ Note: 一:简介 函数式编程不是程序必须要的,但是对于简化程序有很重要的作用。 Python...
    99+
    2023-01-30
    函数 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作