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中的单例模式
    硬件资产管理系统总结
    浏览器同源策略之JSONP、CORS
    设置全局的csrf跨站请求伪造
    keystone命令与client接口学习
    实验室双显示屏安装使用记录
    redhat 5.4 下rabbitMQ单机安装.md
    Android Studio Connection refused: connect 错误解决
    Add Google Maven repository and sync project
    Java向上转型和向下转型
  • 原文地址:https://www.cnblogs.com/xiao1/p/6200582.html
Copyright © 2011-2022 走看看