Python基础(reduce,filter,map函数)
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函数)的更多相关文章
- python中reduce filter map lambda函数
lambda函数 python 使用 lambda 来创建匿名函数,lambda返回值是一个函数的地址,也就是函数对象. 语法:lambda [arg1 [,arg2,.....argn]]:expr ...
- 十五. Python基础(15)--内置函数-1
十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...
- 十六. Python基础(16)--内置函数-2
十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...
- python用reduce和map把字符串转为数字的方法
python用reduce和map把字符串转为数字的方法 最近在复习高阶函数的时候,有一道题想了半天解不出来.于是上午搜索资料,看了下别人的解法,发现学习编程,思维真的很重要.下面这篇文章就来给大家介 ...
- Python基础灬高阶函数(lambda,filter,map,reduce,zip)
高阶函数 lambda函数 关键字lambda表示匿名函数,当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. lambda函数省略函数名,冒号前为参数,冒号后函数体. # ...
- python的reduce,map,zip,filter和sorted函数
一. reduce(function,Iterable),它的形式和map()函数一样.不过参数function必须有两个参数. reduce()函数作用是:把结果继续和序列的下一个元素做累积计 ...
- python中lambda,map,reduce,filter,zip函数
函数式编程 函数式编程(Functional Programming)或者函数程序设计,又称泛函编程,是一种编程范型,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象.简单来讲,函 ...
- 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, ...
- 十一、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 ...
- python3 匿名函数,map/reduce/filter等函数结合应用
匿名函数就是不需要显式的指定函数 # 平方函数 def func1(x): return x**2 print(func1) # 平方函数匿名函数写法 func2=lambda x:x**2 prin ...
随机推荐
- 1. Java面向对象之泛型-认识泛型
package generic; class Point{ private Object x; private Object y; public Object getX() { return x; ...
- ASP.NET Core Identity Hands On(1)——Identity 初次体验
ASP.NET Core Identity是用于构建ASP.NET Core Web应用程序的成员资格系统,包括成员资格.登录和用户数据存储 这是来自于 ASP.NET Core Identity 仓 ...
- scrapy分布式爬虫scrapy_redis二篇
=============================================================== Scrapy-Redis分布式爬虫框架 ================ ...
- [Python]range与xrange用法对比
[整理内容]具体如下: 先来看如下示例:>>>x=xrange(0,8)>>> print xxrange(8)>>>print x[0]0> ...
- python中RabbitMQ的使用(安装和简单教程)
1,简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从"生产者"接收消息 ...
- 知识点:java一些方法会有横线?以Date 过期方法为例
原因:他们的开发者在升级方法后,添加了@Deprecated注释, 目的是为了提醒我们,这个方法现在已经有新的方法了,不建议继续使用! 比如: JAVA中Date的tolocalstring为什么不建 ...
- BZOJ_2622_[2012国家集训队测试]深入虎穴_最短路
BZOJ_2622_[2012国家集训队测试]深入虎穴_最短路 Description 虎是中国传统文化中一个独特的意象.我们既会把老虎的形象用到喜庆的节日装饰画上,也可能把它视作一种邪恶的可怕的动物 ...
- BZOJ_3173_[Tjoi2013]最长上升子序列_splay
BZOJ_3173_[Tjoi2013]最长上升子序列_splay Description 给定一个序列,初始为空.现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置.每插入一个数 ...
- BF-9000 BMC任务关键型应急通信系统
一.系统简介 BF-9000 BMC任务关键型应急通信系统,凝聚北峰通信近30年专网通信与应急通信研发的经验,并结合用户实际需求和应用场景所打造. 整体设计思路是采用骨干网.前指网.分队战斗网三层组网 ...
- LeetCode算法题-Number of Lines To Write String(Java实现)
这是悦乐书的第319次更新,第340篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第188题(顺位题号是806).我们要将给定字符串S的字母从左到右写成行.每行最大宽度为 ...