zoukankan      html  css  js  c++  java
  • map函数用法详解

    map函数是Python内置的高阶函数,它是一个典型的函数式编程例子。
    它的参数为: 一个函数function、一个或多个sequence。
    通过把函数function依次作用在sequence的每个元素上,得到一个新的sequence并返回。
    注意:map函数不改变原有的sequence,而是返回一个新的sequence。

    以列表为例说明:
    lst = [1, 2, 3, 4, 5, 6, 7, 8, 9,10]
    希望得到lst中每个元素的平方,这时我们就可以用到map函数。

    #Python版本: 3.3.4
    #1.常规方法
    >>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9,10]
    >>> def square(x):
    return x**2
    
    >>> list(map(square,lst))     #Python2.x使用map(square,lst)
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    
    #2.使用lambda函数
    >>> list(map(lambda x:x**2,lst))     #Python2.x使用map(lambda x:x**2,lst)
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    
    >>> [(lambda x:x**2)(x) for x in lst]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    
    #map函数除了作用于数字列表外,还可以作用于字符串和元组。
    #例如:
    >>> list(map(ord,'abcdef'))
    [97, 98, 99, 100, 101, 102]
    
    #当传入多个可迭代对象时,且它们元素长度不一致时,生成的迭代器只到最短长度
    >>> list(map(lambda x,y:x+y,'abc','de')) 
    ['ad', 'be']
  • 相关阅读:
    第09组 Alpha冲刺 (6/6)
    第09组 Alpha冲刺 (5/6)
    第09组 Alpha冲刺 (4/6)
    第09组 Alpha冲刺 (3/6)
    第09组 Alpha冲刺 (2/6)
    第09组 Alpha冲刺 (1/6)
    第9组(71) 需求分析报告
    第9组(71) 团队展示
    结对编程作业
    第08组 Alpha冲刺 总结
  • 原文地址:https://www.cnblogs.com/huangbiquan/p/8030305.html
Copyright © 2011-2022 走看看