zoukankan      html  css  js  c++  java
  • 13-python基础—python3中的map()

    map() 

    会根据提供的函数对指定序列做映射。

    第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

    通俗解释:

    map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。(python3中返回的是迭代器)

    map()函数的定义:

    map(function, iterable, ...)
    
    # function -- 函数
    # iterable -- 一个或多个序列

    返回值:

    python 2.x 返回列表;

    python3.x  返回迭代器;

    实例1:常规参数

     1 values = map(lambda x,y:x+y, [1,2,3,4], [2,3,4,5])
     2 print(list(values))
     3 print('='*10)
     4 
     5 -->1+2=3
     6 -->2+3=5
     7 -->3+4=7
     8 -->4+5=9
     9 
    10 #  [3, 5, 7, 9]

    实例2:序列参数接收迭代器

    1 values = map(lambda x,y:x+y, range(1,101), range(1,101))
    2 print(list(values))
    3 print('='*10)
    4 
    5 # [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200]

    实例3:序列参数长度不一,不会报错,以短参数序列为准。

    1 values = map(lambda x,y:x+y, range(1,101), range(1,10))
    2 print(list(values))
    3 print('='*10)
    4 
    5 #[2, 4, 6, 8, 10, 12, 14, 16, 18]

    实例4:序列参数可以是3个或多个,配合匿名函数lambda可以充分发挥效用。

    1 values = map(lambda x,y,z:(x+y)-z, range(1,101), range(1,101),range(1,101))
    2 print(list(values))
    3 
    4 #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
  • 相关阅读:
    ubuntu server 12.04中文显示不了
    hustoj升级
    oj资源
    考试系统
    怎样用DOS命令替换文本里的某段字符
    ubuntu一键安装lamp
    Windows Server 2008官方简体中文正式版下载+序列号
    vsphere ubuntu网速很慢
    前端
    (运维)VMwarevCenterServerAppliance5.0安装与部署
  • 原文地址:https://www.cnblogs.com/summer1019/p/11232781.html
Copyright © 2011-2022 走看看