当前位置: 移动技术网 > IT编程>脚本编程>Python > Python23之内置函数filter()和map()

Python23之内置函数filter()和map()

2019年08月12日  | 移动技术网IT编程  | 我要评论

李宁集团大少爷,巅峰武修,死亡飞车2中文字幕

首先我们了解一个概念:迭代

  迭代是访问集合元素的⼀种⽅式。迭代器是⼀个可以记住遍历的位置的对象。迭代器对象从集合的第⼀个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

我们已经知道可以对listtuplestr等类型的数据使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]

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网