python之有用的3个内置函数(filter/map/reduce)

这三个内置函数还是非常有用的,在工作中用的还不少,顺手,下面一一进行介绍

1、filter

语法:filter(function,iterable)

解释:把迭代器通过function函数进行过滤出想要的数据

用法:可以设置一个迭代器,然后把相同属性的元素过滤出来,如下所示

list1 = [1,2,3,4,5,6,7,8,9,10]

listTemp = filter(lambda x:x%2==0,list1)

上面的意思是过滤出偶数(即被2整除的数),其中使用了匿名函数lambda,非常简便,当然我们也可以自己顶一个函数来实现

另外在python2.*版本中是直接返回list的,但在python3.*中是返回一个迭代器

2、map

语法:map(function,*iterable)

解释:把迭代器(或多个迭代器)通过function函数得到结果

用法:可以设置一个或多个迭代器,然后把相同位置(如果为多个迭代器)的元素通过function函数得到最终结果,如下所示:

#一个迭代器
list1 = [1,2,3,4,5,6,7,8,9]
listTemp = map(lambda x:x*x,list1)

#多个迭代器
list2 = [11,12,13]
list3 = [21,22,23,24,25]
listTemp = map(lambda x,y,z:x+y+z,list1,list2,list3)

多个迭代器的时候,是对后面所有的迭代器进行处理(lambda函数的参数个数必须和后面迭代器的个数一致),这里我们又使用了匿名函数lambda

同filter一样,在python2.*版本中是直接返回list的,但在python3.*中是返回一个迭代器

3、reduce

语法:reduce(function,iterable)

解释:把迭代器通过function进行累积计算

用法:function必须包含俩个参数,第一个参数表示初始值,第二个参数表示迭代器的每个元素,如下:

list1 = [1,2,3,4,5]
listTemp = reduce(lambda x,y:x+y*y,list1)
print(listTemp)

通过print可以看出使用的是python3.*,这里要注意的是,reduce函数在3.*版本里面已经移动到functools里面

这里我们再次使用了lambda匿名函数,非常好用,函数式意思是把list1中的元素自乘之后再相加

原文地址:https://www.cnblogs.com/watertaro/p/9315653.html

时间: 2024-11-05 21:57:25

python之有用的3个内置函数(filter/map/reduce)的相关文章

python关于list的三个内置函数filter(), map(), reduce()

''' Python --version :Python 2.7.11 Quote : https://docs.python.org/2/tutorial/datastructures.html#more-on-lists Add by camel97 2017-04 ''' 1.filter() #filter(function, sequence) returns a sequence consisting of those items from the sequence for whic

Python 内置函数&filter()&map()&reduce()&sorted()

常用内置函数 Python 2.x 返回列表,Python 3.x 返回迭代器 在进行筛选或映射时,输出的结果是一个数组,需要list帮助. 如:print(list(map(lambda x:x+1, [1,2,3]))) 一.filter() --过滤.筛选 刚接触filter时 ,运行总是出现<filter object at 0x000001B68F052828> 得不到想要的数据,后来发现是因为filter的结果是一个数组, 需要 list 帮助,后来将print(f) 改为 pri

Python内置函数filter, map, reduce

filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当于过滤器. filter函数的定义: filter(function or None, sequence) -> list, tuple, or string function是一个谓词函数,接受一个参数,返回布尔值True或False. filter函数会对序列参数sequence中的每个元素调用

python内置函数filter(),map(),reduce()笔记

'''python reduce()函数:reduce()函数会对参数序列中元素进行积累. 函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 1.2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果. 语法:ruduce()reduce(function,iterable,initializer)参数:function-函数,有两个参数iterable--可迭代对象init

Python这7个好用内置函数!

这篇文章我们来看几个很有用的 Python 内置函数 ,我认为每个学习 Python的 都应该知道这些函数. 对于每个函数,我会使用一个普通的实现来和内置函数做对比. 如果我直接引用了内置函数的文档,请理解,因为这些函数文档写的非常棒! all(iterable) 如果可迭代的对象(数组,字符串,列表等,下同)中的元素都是 true (或者为空)的话返回 True . _all = True for item in iterable: if not item: _all = False brea

内置函数filter()和匿名函数lambda解析

一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器(python3以下版本返回是列表). 语法:filter(function or None, iterable) --> filter object 实例: #获取数字100以内的奇数 def even_num(n): return n % 2 ==1 res = filter(even_num,

python基础7之python3的内置函数

官方介绍: python3:https://docs.python.org/3/library/functions.html?highlight=built#ascii python2:https://docs.python.org/2/library/functions.html?highlight=built#ascii 下面介绍python3中具体每个内置函数的使用方法及含义: abs()

Python基础【day04】:内置函数

一.内置函数表格 1.表格 二.内置函数详情 1.abs(x) 功能:取数的绝对值 1 2 >>> abs(-1)  #取-1的绝对值 1 2.all(iterable) 功能:如果这个可迭代的元素都为真,则返回真(非0的就为真,负数也是为真) 1 2 3 4 >>> all([0,1,3])   #有0,说明为假 False >>> all([1,-5,6])  #负数也是为真 True 3.any(iterable) 功能:可迭代的元素中,有一个为

Python 基础第十四天(内置函数和匿名函数)

今天主要内容 1.生成器补充--生成器推导式 2.内置函数 3.匿名函数 1.生成器推导式 (1)列表推导式:一行搞定 ,简单,感觉高端.但是,不易排错. 例: l1 = [] for i in range(1,12):  l1.append('python%s期' % i) print(l1) 生成式: l2 = ['python%s期' %i  i  for i in range(1,12)] print(l2) 结构: 循环模式[经过加工的i for i in 可迭代对象] 筛选模式 [经