实现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。
实现python中的map函数的更多相关文章
- Python中的map()函数和reduce()函数的用法
Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下 Py ...
- python中的map()函数
MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, .. ...
- Python 中的map函数,filter函数,reduce函数
自学python,很多地方都需要恶补. 三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序 ...
- python中的map函数
def f(x): return x * x """将一个全是数字的list变成平方形式""" def f2(): ls = [1, 2, ...
- python 中的map 详解
python中的map函数应用于每一个可迭代的项,返回的是一个结果list.如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理.map()函数接收两个参数,一个是函 ...
- python学习之map函数和reduce函数的运用
MapReduce:面向大型集群的简化数据处理引文 map()函数 Python中的map()函数接收两个参数,一个是调用函数对象(python中处处皆对象,函数未实例前也可以当对象一样调用),另一个 ...
- python中 Lambda,Map,Filter,Itertools,Generator高级函数的用法
Lambda 函数 Lambda 函数是一种比较小的匿名函数--匿名是指它实际上没有函数名. Python 函数通常使用 def a_function_name() 样式来定义,但对于 lambda ...
- Python连载43-current中的map函数、xml文件
一.current中的map函数 1.map(fn,*iterable,timeout=None) (1)跟map函数相类似(2)函数需要异步执行(3)timeout代表超时时间 (4)map和sub ...
- python中使用zip函数出现<zip object at 0x02A9E418>
在Python中使用zip函数,出现<zip object at 0x02A9E418>错误的原因是,你是用的是python2点多的版本,python3.0对python做了改动 zip方 ...
随机推荐
- Flask下如何处理Requests 上传中文文件名的问题
一.问题的由来 最近有个项目,叫做文档服务资源中心,类似于七牛,为各个业务系统提供统一的文件资源服务,包括文件的存储.操作管理.下载.预览等.在做文件存储的时候,遇到了这个当指定上传的文件名为 ...
- heml设置浏览器版本
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> action类获取se ...
- CruiseControl.Net <buildpublisher>部署到远程机器报错的解决办法
CruiseControl.Net ,使用<buildpublisher>将编译后的程序部署到远程机器时,使用以下配置 <buildpublisher> <sourceD ...
- fsockopen读取、发送cookie及注意事项 -代码示例
function httpPost($url, $data,$cookieStr='') { $url_array = parse_url($url); $host = $url_array['hos ...
- 【LabVIEW技巧】路径依赖解除方法
前言 LabVIEW程序开发,让我们的程序设计变的简单容易,但是设计过程中也不乏大量的重复性工作,其中最让人头痛的莫过于依赖冲突问题. 事实上,只要你对文件进行了修改或者移动,必不可少的依赖冲突就会产 ...
- Javascript初学篇章_7(DOM)
DOM 文档对象模型DOM (document object model) 文档对象模型,它定义了操作文档对象的接口.DOM 把一份html文档表示为一棵家谱树,使用parent(父), child( ...
- jQuery模仿淘宝商品评价
最近做项目要做个商品评价的功能,我直接就跑到淘宝那里去研究了,可看着晕晕的,还不知道他是怎么做的,于是把图抠了下来,自己写了一个,接下来就展示一下我是怎么做的,大家有不同的实现方法可要记得分享一下呀. ...
- nginx-nginx脚本
#!/bin/bash #nx Startup script for the Nginx HTTP Server # it is v. version. # chkconfig: - # descri ...
- VB6.0 为批量字体改名
从网上下载了一个字符包,解压以后查看,发现文件名是这种形式:0120_XXXXXX_GBK.ttf,看上去很不雅观.我想改成 XXXXXX简体.ttf 这种形式,但字体有300多个,手动修改太浪费时间 ...
- PowerDesigner连接SQL Server
以前听说过PowerDesigner可以和数据库连接,根据在PowerDesigner创建的数据模型创建表.触发器.存储过程到数据库中.也可以将已有的数据库导出到PowerDesigner中为数据模型 ...