lambda&filter&map&reduce函数的基本使用

‘‘‘Created on 2019-03-14Author:BinzhouProject:python中lambda filter map reduce函数使用总结‘‘‘

#lambda匿名函数,格式lambda x,y:x+y 表示一个函数的参数是x,y,函数实现功能是x+y

#filter[function,sequence]用于过滤序列 返回迭代器对象(包含所有满足使function返回值为True的sequence值)#python2直接返回与sequence一致的数据类型(列表,元组)

print(filter(lambda x:x*x-4,range(10)))#用于过滤序列 返回迭代器对象<filter object at 0x000000000113C940>print(list((filter(lambda x:x*x-4,range(10)))))#使用list将迭代器对象转换成list,结果为TRUE的入参print(list((filter(lambda x:x*x,range(10)))))  #序列0传入使结果为False,返回结果无0

#map[function,sequence1,...]将函数调用映射到每个序列的对应元素上,入参序列为列表,返回迭代器对象print(map(lambda x,y:x*y-4,range(3),[8,9,10]))#将函数调用映射到每个序列的对应元素上,返回迭代器对象<map object at 0x00000000011B5DA0>print(list(map(lambda x,y:x*y-4,range(3),[8,9,10])))#使用list将迭代器对象转换成list
#reduce[function,sequence,inital=None]:先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给fuction,最终返回一个结果值(似累加)# 在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里 用的话要 先引# from functools import reducefrom functools import reduce

print(reduce(lambda x,y:x+y,range(10)))#返回0-9的累加结果
# 第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。# reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)# 结果为21(  (((((1+2)+3)+4)+5)+6)  )# reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])# 结果为20

原文地址:https://www.cnblogs.com/BinZhou0901/p/10530154.html

时间: 2024-10-08 16:25:25

lambda&filter&map&reduce函数的基本使用的相关文章

python之lambda,filter,map,reduce函数

g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>>3 当然,你也可以这样使用: lambda x:x+1(1) >>>2 可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为: def g(x): return x+1 非常容易理解,在这里lambda简化了函数定义的书写形式.是代码更为简洁,但是使用函数的定义方式更为直观,易理解. Python中,

python——lambda,filter,map,reduce

lambda函数 使用方法:lambda [arg1[,arg2,arg3,...,argn]] : expression 如: add = lambda(x,y:x+y) add(1,2) 结果为1+2=3 filter函数 filter(bool_func,seq) 此函数的功能相当于过滤器,通过返回值为bool的函数bool_func来迭代遍历seq中的每个元素: 结果返回一个seq中使bool_func返回值为true的元素的序列. filter(lambda x : x%2 == 0,

Python学习(五)函数 —— 内置函数 lambda filter map reduce

Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.filter.map.reduce 进行初步的学习. lambda 匿名函数 lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值. lambda语句构建的其实是一个函数对象,参考下例来感受下 lambda 匿名函数: 1 def f(i): # 用户自定义返回平方数 2 retur

python的高级函数- lambda,filter,map,reduce

第一: 匿名函数---lambda的理解 第二:  filter函数的理解 第三: map函数的理解 第四:reduce函数的理解 原文地址:https://www.cnblogs.com/ivyharding/p/12382330.html

[转]Python 中的 lambda,filter,map,reduce,apply

1. lambda 1. 基本形式: 函数名=lambda args1,args2,...,argsn:expression与C语言中的宏定义类似 2. Code 1 isodd = lambda x: x%2==0 2 pow2 = lambda x: x<<1 2. filter 1. 基本形式 ans=filter(function,array)相当于一个过滤函数,这里的function的返回值为布尔型,array中满足function的元素留下. 2. Code 1 array=[1,

python中filter, map, reduce, lambda

python 中内置的几个函数filter, map, reduce, lambda简单的例子. #!/usr/bin/env python #_*_coding:utf-8_*_ #filter(function, sequence): #对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回. #可以看作是过滤函数. tasks = [ { 'id': 1, 'title

Python经常使用内置函数介绍【filter,map,reduce,apply,zip】

Python是一门非常简洁,非常优雅的语言,其非常多内置函数结合起来使用,能够使用非常少的代码来实现非常多复杂的功能,假设相同的功能要让C/C++/Java来实现的话,可能会头大,事实上Python是将复杂的数据结构隐藏在内置函数中,用C语言来实现,所以仅仅要写出自己的业务逻辑Python会自己主动得出你想要的结果.这方面的内置函数主要有,filter,map,reduce,apply,结合匿名函数,列表解析一起使用,功能更加强大.使用内置函数最显而易见的优点是: 1. 速度快,使用内置函数,比

使用python实现内置map,filter,reduce函数

map函数 # -*- coding: cp936 -*- def myselfmap(f,*args):     def urgymap(f,args):         if args==[]:             return []         else:             return [f(args[0])]+urgymap(f,args[1:])     if list(args)[0]==[]:             #*args有多个参数被传递时返回tuple  

filter,map,reduce,lambda(python3)

1.filter filter(function,sequence) 对sequence中的item依次执行function(item),将执行的结果为True(符合函数判断)的item组成一个list.string.tuple(根据sequence类型决定)返回. 1 #!/usr/bin/env python 2 # encoding: utf-8 3 """ 4 @author: 侠之大者kamil 5 @file: filter.py 6 @time: 2016/4/