zoukankan      html  css  js  c++  java
  • 实现python中的map函数

    假设Python没有提供map()函数,自行编写my_map()函数实现与map()相同的功能。以下代码在Python 2.7.8中实现。

    实现代码:

    def my_map(fun,num): 
        i = 0 
        x = list(range(len(num)))#创建一个list,长度为输入list的长度 
        for n in num:#对输入list中每个变量进行遍历 
            x[i] = fun(n)#调取fun函数,并将返回结果存入x中 
            i = i+1 
        return x#将x返回 
    def my_sum(n): 
        return 2*n
    

      

    测试代码:

    print 'my_map:',my_map(my_sum,[1,2,3,4,5,6,7]) 
    print 'map:',map(my_sum,[1,2,3,4,5,6,7])
    

      

    输出结果:

    my_map: [2, 4, 6, 8, 10, 12, 14] 
    map: [2, 4, 6, 8, 10, 12, 14]
    

      

    易犯错误:

    没有将x定义为list,也即没有x = list(range(len(num))),直接将fun(n)的值赋给x[i],这样会报出TypeError: 'int' object does not support item assignment,此时x只是一个整型变量,不是一个list。

  • 相关阅读:
    <frame>、<iframe>、<embed>、<object> 和 <applet>
    xss攻击
    回流 和 重绘
    defer 和 async 的区别
    从输入URL到浏览页面的过程
    webkit vs v8
    缓存
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/zhbzz2007/p/4127696.html
Copyright © 2011-2022 走看看