Python23之内置函数filter()和map()
程序员文章站
2022-07-01 16:25:32
首先我们了解一个概念:迭代 迭代是访问集合元素的⼀种⽅式。迭代器是⼀个可以记住遍历的位置的对象。迭代器对象从集合的第⼀个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 我们已经知道可以对list、tuple、str等类型的数据使⽤for...in...的循环语法从其中依次拿到数据 ......
首先我们了解一个概念:迭代
迭代是访问集合元素的⼀种⽅式。迭代器是⼀个可以记住遍历的位置的对象。迭代器对象从集合的第⼀个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
我们已经知道可以对list、tuple、str等类型的数据使⽤for...in...的循环语法从其中依次拿到数据进⾏使⽤,我们把这样的过程称为遍历,也叫迭代。
一、filter()函数
filter()函数实现过滤功能,它有两个参数,第一个参数为none时或一个函数对象,第二个参数为一个可迭代对象
当第一个参数为none时,实现将可迭代对象的每一个元素值为false的过滤掉,生成一个仅包含元素值为true的新可迭代对象
1 list1 = ['詹姆斯','字母哥',0,false,'废青123'] 2 lsit2 = filter(none,list1) 3 4 lsit2 5 <filter object at 0x04002470> 6 list(lsit2) 7 ['詹姆斯', '字母哥', '废青123']
当第一个参数为一个函数对象时,那么此时作为参数的函数会调用第二个可迭代对象里面的每一个元素作为实参,并按返回值对迭代对象的元素进行过滤,返回值为false的被过滤掉,剩下的可迭代对象的元素组成一个新的可迭代对象并返回
1 list(range(10)) 2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 3 list(filter(lambda x:x%2, range(10))) 4 [1, 3, 5, 7, 9]
二、map()函数
map()函数与filter()函数形式一致,实现对可迭代对象的映射,但其第一个参数必须是一个函数对象,而且map()函数是将经过函数对象处理后的返回值作为新的元素组成一个可迭代对象
1 list(range(10)) 2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 3 list(map(lambda x:x%2, range(10))) 4 [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
上一篇: 养颜补肾粥有哪些
推荐阅读
-
python 内置函数-range()+zip()+sorted()+map()+reduce()+filter()
-
Python中map,reduce,filter和sorted函数的使用方法
-
Python中map,reduce,filter和sorted函数的使用方法
-
python内置函数:lambda、map、filter简单介绍
-
Python内置函数之filter map reduce介绍
-
Python【day 14-5】sorted filter map函数应用和练习
-
Python之lambda匿名函数及map和filter的用法
-
python入门语法(函数参数、迭代器、生成器、装饰器、函数式变成、map/reduce、filter、sorted、继承和多态)
-
python内置函数zip()和filter()
-
python迭代和解析(3):range、map、zip、filter和reduce函数