• 技术文章 >常见问题 >Python常见问题

    python中map函数怎么显示结果

    silencementsilencement2019-11-20 09:13:19原创3419

    map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

    现在,我们用Python代码实现:

    >>> def f(x):...     return x * x
    ...>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
    >>> list(r)
    [1, 4, 9, 16, 25, 36, 49, 64, 81]

    map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。

    你可能会想,不需要map()函数,写一个循环,也可以计算出结果:

    L = []for n in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
        L.append(f(n))
    print(L)

    的确可以,但是,从上面的循环代码,能一眼看明白“把f(x)作用在list的每一个元素并把结果生成一个新的list”吗?

    所以,map()作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的f(x)=x2,还可以计算任意复杂的函数,比如,把这个list所有数字转为字符串:

    >>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
    ['1', '2', '3', '4', '5', '6', '7', '8', '9']

    只需要一行代码。python学习网,免费的python学习网站,欢迎在线学习!

    专题推荐:map
    上一篇:安装Python3报错是怎么解决 下一篇:python怎么安装包

    相关文章推荐

    • python怎么编写程序• eval在python中的意思是什么• python如何调用自己的函数

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网