码迷,mamicode.com
首页 > 编程语言 > 详细

Python【filter、map、reduce】

时间:2018-06-22 13:26:11      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:pytho   lte   init   lam   list   rom   lambda   iter   port   

filter和map和reduce

map(function,iterable...) -> list

映射,对列表中的每个值操作 返回操作后的数值组成列表

# 给列表值+1
l = [1,2,3,4,5,6,7,8,9,10]
print(list(map(lambda x:x+1,l)))  #  [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

filter(function,iterable...) -> list, tuple, or string

过滤,对列表中的每个值进行判断 返回符合条件的原列表值

# 筛选偶数
l = [1,2,3,4,5,6,7,8,9,10]
print(list(filter(lambda x:x%2==0,l)))  # [2, 4, 6, 8, 10]


# 补充
# 若用map执行判断语句,返回的是True或者False。map将判断语句的结果视为需求的值,而filter会将符合判断语句的原列表成员视为需求的值
print(list(map(lambda x:x%2==0,l)))  # [False, True, False, True, False, True, False, True, False, True]

reduce(function, sequence[, initial]) -> value

对sequence中的item顺序迭代调用function,函数必须要有2个参数。要是有第3个参数,则表示初始值,可以继续调用初始值,返回一个值。

依次执行,第一次取两个可迭代对象的值,交给function操作,将结果与下一个可迭代对象的值再交给function操作,直至结束

from functools import reduce
print(reduce(lambda x,y:x+y,l,0))  # 55 相当于1+2+3+...+10

Python【filter、map、reduce】

标签:pytho   lte   init   lam   list   rom   lambda   iter   port   

原文地址:https://www.cnblogs.com/LTEF/p/9212389.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!