码迷,mamicode.com
首页 > 其他好文 > 详细

map、reduce、filter 的用法

时间:2020-06-01 01:16:53      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:筛选   cti   def   序列   函数返回   filter   tool   迭代   迭代器   

map:根据函数对指定序列做映射

map
参数
接收两个参数:一个是函数,一个是序列(可迭代对象)
返回值
Python2 返回列表
Python3 返回迭代器

abs() 函数返回数字的绝对值

ret = map(abs,[-1,-5,6,-7])
print(list(ret))
[1, 5, 6, 7]

filter() 函数用于过滤序列,过滤不符合条件的元素,返回列表

参数:
function  函数
iterable  可迭代对象
返回值:
返回列表

filter()筛选大于10的数

def is_odd(x):
    if x>10:
        return True

ret = filter(is_odd,[1,4,5,7,8,9,76])  # 为迭代器
print(list(ret)) 

# [76]

reduce:对于序列内所有元素进行累计操作,返回结果值

‘‘‘
reduce() 函数
reduce() 函数会对参数序列中元素进行累积
函数将一个数据集合(链表、元组等)中的所有数据进行下列操作
‘‘‘

from functools import reduce
def add(x,y):
    return x + y

print(reduce(add,[1,2,3,4,5]))
#  15
print(reduce(lambda x, y: x+y, [1,2,3,4,5]))  # 15

print(reduce(add,range(1,101)))
#  5050

map、reduce、filter 的用法

标签:筛选   cti   def   序列   函数返回   filter   tool   迭代   迭代器   

原文地址:https://www.cnblogs.com/justblue/p/13022457.html

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