美文网首页
python的内建函数map

python的内建函数map

作者: 转身丶即天涯 | 来源:发表于2018-12-09 16:07 被阅读5次

    今天记录一个比较常用的函数,map。

    map()

    首先map函数是内建函数,和我们常用的len()之类的函数是一样的,不需要任何引用,也不属于任何对象。

    简单瞅一眼函数定义

    image.png
    init函数中我们看到了,它需要两个参数,其中一个是函数,另一个是可迭代对象。
    它的作用就是遍历可迭代对象,对迭代的每个元素都执行这个函数。

    复习一下可迭代对象,实现了iter函数的对象都是可迭代对象,python内建了很多这样的对象,比如我们熟知的list,dict,tuple,str等等。

    简单用法

    现在我们来实现一个功能,让一个list中的每个元素都+1(list中都是数值类型)

    def addOne(x):
        return x + 1
    
    l = [1, 2, 3, 4]
    new_list = map(addOne, l)
    
    print(l)
    print(list(new_list))
    

    首先要现在定义一个功能函数,这个函数的作用就是你要对list中每个元素所做的操作,比如我们现在要做的,给每个元素+1。
    然后声明了一个含有4个整数的list。
    用一个变量来接受map()函数的结果。

    它的执行过程是,把l看做迭代器对象,每次取出一个,作为参数传递给addOne函数,那么addOne函数拿到了参数后会执行一遍,然后取出下一个对象,重复以上的步骤。
    直至所有元素都执行了一遍,返回一个map对象。
    那么我们需要使用list()函数把map对象转换成list对象,这样就能看到最终的结果了。
    注意,在python2中是直接返回一个list的,而非map对象。也就是说,不需要使用list()函数进行转换了。

    看一眼执行的结果吧:


    image.png

    相关文章

      网友评论

          本文标题:python的内建函数map

          本文链接:https://www.haomeiwen.com/subject/qeqkhqtx.html