zoukankan      html  css  js  c++  java
  • python---map,filter,reduce

    map

    遍历序列,对序列中每个元素进行操作,最终获取新的序列。

    li = [11, 22, 33]
    new_list = map(lambda a: a + 100, li)
    #new_list = map(lambda a: a + 100, [11, 22, 33])
    print(list(new_list))
    每个元素增加100
    def abc(a, b, c):
        return a*10000 + b*100 + c
    
    list1 = [11,22,33]
    list2 = [44,55,66]
    list3 = [77,88,99]
    
    print(list(map(abc,list1,list2,list3)))
    
    #结果
    [114477, 225588, 336699]
    二维数组
    li1 = [11, 22, 33]
    sl1 = [1, 2, 3]
    new_list = map(lambda a, b: a + b, li1, sl1)
    print(list(new_list))
    
    #结果
    [12, 24, 36]
    再来一个~
    >>> list1 = [11,22,33]
    >>> map(None,list1)
    [11, 22, 33]
    >>> list1 = [11,22,33]
    >>> list2 = [44,55,66]
    >>> list3 = [77,88,99]
    >>> map(None,list1,list2,list3)
    [(11, 44, 77), (22, 55, 88), (33, 66, 99)]
    若第一个参数为None

    filter

    对于序列中的元素进行筛选,最终获取符合条件的序列。

    li = [11, 22, 33,34,534,2,12]
    
    new_list = filter(lambda arg: arg > 22, li)
    print(list(new_list))
    #filter第一个参数为空,将获取原来序列
    
    #结果
    [11, 22, 33, 34, 534, 2, 12]
    获取列表中大于12的所有元素集合

    reduce

    对于序列内所有元素进行累计操作

    from functools import reduce
    li = [11, 22, 33]
    result = reduce(lambda arg1, arg2: arg1 + arg2, li)
    
    # reduce的第一个参数,函数必须要有两个参数
    # reduce的第二个参数,要循环的序列
    # reduce的第三个参数,初始值
    
    print(result)
    
    #结果
    66
    获取序列所有元素的和
  • 相关阅读:
    结对编程-马尔科夫链作业成绩
    结对编程-四则运算(挑战出题)成绩及点评
    结对编程-四则运算成绩
    结对编程-四则运算(挑战出题)
    结对编程
    每天进步一点点-第二天卒
    每天进步一点点-深度学习入门-基于Python的理论与实现 (一)
    今天准备更新每天提高一点点系列
    Books
    WPF命令好状态刷新机制
  • 原文地址:https://www.cnblogs.com/xiao1/p/6200582.html
Copyright © 2011-2022 走看看