map、reduce、filter 的用法

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
posted @ 2020-05-31 23:39  justblue  阅读(311)  评论(0编辑  收藏  举报