python2,3中内建函数map,reduce,filter,sorted配合lambda

时间:2022-05-27 18:32:45

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