zoukankan      html  css  js  c++  java
  • Python【filter、map、reduce】

    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
  • 相关阅读:
    LeetCode 79
    LeetCode 437
    LeetCode 783
    LeetCode 59
    LeetCode 每日一题 04/24
    LeetCode 5
    LeetCode 43
    简易多线程任务 往数据库插数据
    定时任务--查数据库--注解实现
    redis 简易 实现
  • 原文地址:https://www.cnblogs.com/LTEF/p/9212389.html
Copyright © 2011-2022 走看看