map函数:

  map函数特点:对可迭代对象中的每个元素进行相同的操作(例如每个元素+1等等)

 #————————————————map函数————————————————————
#对列表的各个元素实现加一功能
li=[1,2,3]
#定义一个加一函数
def func1(x):
return x+1 #第一种map函数使用方式---lambda
res1=map(lambda x:x+1,li)
print(list(res1)) #第二种map函数使用方式---普通函数
res2=map(func1,li)
print(list(res2))

map函数两种实现方式

map扩展(将列表中的数字全部变成字符串):

print(list(map(str,[1,2,3,4,5,6])))

reduce函数:

  reduce函数特点:从左到右对一个序列的项累计地应用有两个参数的函数,以此合并序列到一个单一值。(例如累加或累乘列表元素等等)

 #————————————————reduce函数————————————————————
#python3在使用reduce函数时需要导入模块
from functools import reduce
nums=[1,2,3,4] #实现乘法的普通函数
def func2(x,y):
return x*y #第一种使用reduce函数的方式---lambda
res3=reduce(lambda x,y:x*y,nums)
print(res3) #第二种使用reduce函数的方式---普通函数
res4=reduce(func2,nums)
print(res4)

reduce函数

filter函数:

 filter函数特点:对可迭代对象中的元素按照特定的条件进行筛选。(例如筛选列表中所有的偶数等等)

 #————————————————filter函数————————————————————
lis=[0,1,2,3,4,5,6] #定义筛选偶数的普通函数一
def func3(x):
if x%2==0:
return x #定义筛选偶数的普通函数二
def func4(x):
return x%2==0 #第一种使用filter函数的方式---lambda
res5=filter(lambda x:x%2==0,lis)
print(list(res5)) #在使用两个普通函数时使用时会有一些差异,第一种return 0被当做返回False,因此列表中没有获取到0这个元素,第二种则不会有这种情况。 #第二种使用filter函数的方式---普通函数一
res6=filter(func3,lis)
print(list(res6)) #第二种使用filter函数的方式---普通函数二
res7=filter(func4,lis)
print(list(res7))

filter函数

*filter的底层实现原理:

def foo(x):
return x>5 def filter(func,iter):
lst=[]
for i in iter:
if func(i):
lst.append(i)
return lst ret=filter(foo,[1,2,3,4,5,6,7,8,9])
print(ret)

Python基础(reduce,filter,map函数)的更多相关文章

  1. python中reduce filter map lambda函数

    lambda函数 python 使用 lambda 来创建匿名函数,lambda返回值是一个函数的地址,也就是函数对象. 语法:lambda [arg1 [,arg2,.....argn]]:expr ...

  2. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

  3. 十六. Python基础(16)--内置函数-2

    十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...

  4. python用reduce和map把字符串转为数字的方法

    python用reduce和map把字符串转为数字的方法 最近在复习高阶函数的时候,有一道题想了半天解不出来.于是上午搜索资料,看了下别人的解法,发现学习编程,思维真的很重要.下面这篇文章就来给大家介 ...

  5. Python基础灬高阶函数(lambda,filter,map,reduce,zip)

    高阶函数 lambda函数 关键字lambda表示匿名函数,当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. lambda函数省略函数名,冒号前为参数,冒号后函数体. # ...

  6. python的reduce,map,zip,filter和sorted函数

    一.    reduce(function,Iterable),它的形式和map()函数一样.不过参数function必须有两个参数. reduce()函数作用是:把结果继续和序列的下一个元素做累积计 ...

  7. python中lambda,map,reduce,filter,zip函数

    函数式编程 函数式编程(Functional Programming)或者函数程序设计,又称泛函编程,是一种编程范型,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象.简单来讲,函 ...

  8. Python map/reduce/filter/sorted函数以及匿名函数

    1. map() 函数的功能: map(f, [x1,x2,x3]) = [f(x1), f(x2), f(x3)] def f(x): return x*x a = map(f, [1, 2, 3, ...

  9. 十一、python沉淀之路--map函数、filter函数、reduce函数、匿名函数、内置函数

    一.map函数 1.自定义函数,实现类似于map函数的功能 num_l = [1,3,4,5,6,9] def power(n): return n ** 2 def map_test(func,ar ...

  10. python3 匿名函数,map/reduce/filter等函数结合应用

    匿名函数就是不需要显式的指定函数 # 平方函数 def func1(x): return x**2 print(func1) # 平方函数匿名函数写法 func2=lambda x:x**2 prin ...

随机推荐

  1. 基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件

    原文:http://www.cnblogs.com/hoojo/archive/2013/03/29/openfire_plugin_chatlogs_plugin_.html 随笔-150  评论- ...

  2. C语言gets雨scanf函数的用法

    /*1.不同点: scanf不能接受空格.制表符Tab.回车等: 而gets能够接受空格.制表符Tab和回车等: 2.相同点:  字符串接受结束后自动加'\0'. 使用scanf("%s&q ...

  3. Android 手势锁的实现 让自己的应用更加安全吧

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/36236113 今天偶遇以github上gesturelock关于手势锁的一个例子 ...

  4. 通过MSSQL分析器跟踪研究EM内部行为并解决identify列问题

    今天有人问到MSSQL表里的IDENTITY字段,如何让它在复制原来数据到该表时,原来数据的IDENTITY字段不变,而新插入数据时,新插入的数据的IDENTITY依然增长,查了些资料,做了个实验,最 ...

  5. 解决centos7 python3 上下左右变ABCD

    首先:rpm -qa | grep readline //查看有没有安装readline-devel(出现标题的问题就是因为没有安装readline-devel包) 其次:使用yum search r ...

  6. Java元编程及其应用

    首先,我们且不说元编程是什么,他能做什么.我们先来谈谈生产力. 同样是实现一个投票系统,一个是python程序员,基于django-framework,用了半小时就搭建了一个完整系统,另外一个是标准的 ...

  7. go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin

    nsqlookupd: 官方文档解释见:http://bitly.github.io/nsq/components/nsqlookupd.html 用官方话来讲是:nsqlookupd管理拓扑信息,客 ...

  8. java.lang.IllegalArgumentException异常 配置文件的问题

    java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Student is ...

  9. 前端笔记之Vue(一)初识SPA和Vue&webpack配置和vue安装&指令

    一.单页面应用(SPA) 1.1 C/S到B/S页面架构的转变 C/S:客户端/服务器(Client/Server)架构的软件. C/S 软件的特点: ① 从window桌面双击打开 ② 更新的时候会 ...

  10. wGenerator如何编写模板

    编写模板大致分为4个步骤: 确定开发语言与数据库类型 分析表数据类型与语言的类型对应 分析代码中哪些可以规整为模板 编写与测试模板 我们对照流程图看的话会更加清晰: 1.如何分析表数据与开发语言的类型 ...