1. lambda

The lambda operator or lambda function is a way to create small anonymous functions , i.e. functions without a name.

  可以方便的创造一个函数。比如

  

def add(x,y):

    return x+y

  用lambda 写就是

  

lambda x,y:x+y

  非常简洁。这条语句会返回一个函数指针,你可以他赋值,或者配合map ,reduce 等操作。

  比如说想把list [1,2,3,4,5]的每个值的乘2,返回一个list  .

2. map

  lambda配合map用是最方便的了。

    r = map(func, seq)

    map接收一个func 指针,然后把函数作用到seq的每个成员上。

  接上面的例子就是 :

  

map(lambda x:x*2,[1,2,3,4,5])
[2, 4, 6, 8, 10]

    

3. Filtering

  和map 类似 ,只不过他是过滤list,也接受一个func的lambda 表达式,然后如果表达式为真就过滤掉。

    filter(function, list)

  

fib = [0,1,1,2,3,5,8,13,21,34,55]
filter(lambda x: x % 2, fib)
[1, 1, 3, 5, 13, 21, 55]

  直接过滤掉偶数的项。

  比如说我只要>20的数据

  

filter(lambda a : a>20 ,fib)

  分分钟过滤!

4.Reducing

  The function reduce(func, seq) continually applies the function func() to the sequence seq. It returns a single value.

If seq = [ s1, s2, s3, ... , sn ], calling reduce(func, seq) works like this:

  [ func(s1, s2), s3, ... , sn ]

   [ func(func(s1, s2),s3), ... , sn ]

  持续对list 进行func的操作,最终结果是产生一个数值!

  

reduce(lambda x,y: x+y, [47,11,42,13])
113

  比如说这个,依次对47,11 进行相加, 变成 [58,42,13]

    然后再相加 [100,13]

    113

  

python Lambda, filter, reduce and map的更多相关文章

  1. Python中Lambda, filter, reduce and map 的区别

    Lambda, filter, reduce and map Lambda Operator Some like it, others hate it and many are afraid of t ...

  2. python的filter,reduce,map

    1.filter filter(func,iter) 只能处理一个参数(iter),仅仅将满足func方法的数值过滤出来 如: a = [,,,,] list(filter(lambda x:x> ...

  3. Python lambda和reduce函数

    看到一篇博文写lambda和reduce函数.笔者小痒了一下,用Python实现一下: #! /usr/bin/env python # -*-coding:utf-8-*- import time ...

  4. python中filter(),reduce()函数

    filter()函数 是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 和一个list,这个函数的作用是对每个元素进行判断,返回 True或 False,filter() ...

  5. python中filter,reduce,map的用法

    filter的用法: 操作表list的内嵌函数'filter' 需要一个函数与一个list它用这个函数来决定哪个项应该被放入过滤结果队列中遍历list中的每一个值,输入到这个函数中如果这个函数返回Tr ...

  6. 闭包 -> map / floatMap / filter / reduce 浅析

    原创: 转载请注明出处 闭包是自包含的函数代码块,可以在代码中被传递和使用 闭包可以捕获和存储其所在上下文中任意常量和变量的引用.这就是所谓的闭合并包裹着这些常量和变量,俗称闭包.Swift 会为您管 ...

  7. 【python】filter,map,reduce和lambda函数介绍

    filter(function, iterable)map(function, iterable)reduce(function, sequence) filter将 function依次作用于ite ...

  8. python中的zip、map、reduce 、lambda、filter函数的使用

    飞机票 lambda函数 lambda只是一个表达式,函数体比def简单很多. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去. lambda表达式是 ...

  9. Python面试题之Python中的lambda map filter reduce zip

    当年龟叔想把上面列出来的这些都干掉.在 “All Things Pythonic: The fate of reduce() in Python 3000”这篇文章中,他给出了自己要移除lambda. ...

随机推荐

  1. Tidyverse|数据列的分分合合,爱恨情仇

    Tidyverse|数据列的分分合合,爱恨情仇 本文首发于“生信补给站”Tidyverse|数据列的分分合合,一分多,多合一 TCGA数据挖掘可做很多分析,前期数据“清洗”费时费力但很需要. 比如基因 ...

  2. php中switch与ifelse的效率分析

    1.当被判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高: $jiejie=3;   // 变判断的值为常量 switch($jiejie){   case 1:   ...

  3. 2019-2020-1 20199308《Linux内核原理与分析》第八周作业

    <Linux内核分析> 第七章 可执行程序工作原理 7.1 知识点 1.目标文件:编译器生成的文件,"目标"指平台,它决定了编译器使用的机器指令集. 2.目标文件格式: ...

  4. Dockerfle创建镜像

    简介 Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行. 一般的,Dockerfile 分为四部分:基础镜像信息.维护者信息.镜像操作指令和容器启动时执行指令. # This ...

  5. 2019-2020-1 20199329《Linux内核原理与分析》第六周作业

    <Linux内核原理与分析>第六周作业 一.本周内容概述: 学习系统调用的相关理论知识,并使用库函数API和C代码中嵌入汇编代码两种方式使用getpid()系统调用 学习系统调用syste ...

  6. 【ubuntu】Error: environment block too small. Press any key to continue

    Error: environment block too small. Press any key to continue 如何修复这个Error呢? 输入以下命令 sudo su cd /boot/ ...

  7. springboot docker jenkins 自动化部署并上传镜像

    springboot + docker + jenkins自动化部署项目,jenkins.mysql.redis都是docker运行的,并且没有使用虚拟机,就在阿里云服务器(centos7)运行 1. ...

  8. JAVA学习之路 (五) 类

    java类的学习 先上一个代码 package bankCard; import java.util.Scanner; // 银行卡类 public class bankCard { // 静态变量 ...

  9. CentOS 7 网络优化(升级内核、开启 BBR)

    我之前介绍过关于 TCP 一些优化,包括安装使用 TCP 优化软件,这些适用于较低版本的 CentOS 系统,例如 CentOS 6,详细可参考<Linux 下的一些简单的 TCP 优化> ...

  10. phpsocket.io

    https://github.com/walkor/phpsocket.io phpsocket.io A server side alternative implementation of sock ...