filter:对可迭代对象过滤
# 过滤出列表中大于2的元素
l_r = [1, 2, 3, 4]
l_a = filter(lambda a: True if a > 2 else False, [1, 2, 3, 4])
print l_a
其实filter被map替代(用none来替代),当map的传入参数返回为空/返回传入参数
其他的几个内建函数
* map(f, list) 将f与list中的每一个函数进行运算,得出一个新的list
def add_fun(a):
if a > 2:
print a+1
l_r = [1, 2, 4]
l = map(add_fun, l_r)
- reduce(f, list) 返回一个值, 用于求和 求积等
- filter(f, list) 过滤函数,f返回值为True或False
- sorted(list,f) 对list进行排序,f的返回值-1,0,1
在Python3中使用内建函数:
- python3中使用时,部分需要从functools包里面导入
- 返回值是Iterable对象,可以强制转换为list