python里面map函数_实现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()函数和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函数,出现错误的原因是,你是用的是python2点多的版本,python3.0对python做了改动 zip方 ...

随机推荐

linux 下find命令 --查找文件名

1.在某目录下查找名为"elm.cc"的文件 find /home/lijiajia/ -name elm.cc 2.查找文件名中包含某字符(如"elm")的文 ...

win7下IIS配置MVC项目

第一步:添加MVC程序映射 1.双击打开,如下图: 2. 点击界面右边操作中的:添加脚本映射 请求路径:* 可执行文件路径:C:\Windows\Microsoft.NET\Framework\v4. ...

【JAVA编码专题】深入分析 Java 中的中文编码问题

http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么 ...

C++ Primer 读书笔记:第10章 关联容器

第10章 关联容器 引: map set multimap multiset 1.pair类型 pair anon anon.first, anon.second ...

关于JS的页面跳转

"window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一 ...

CSS3 使用选择器在页面插入内容

使用选择器来插入文字 h2:before{ content:'COLUMN'; color:white: background-color:orange: padding:1px 5px; } 注意点 ...

Go语言的通道(2)-缓冲通道

有缓冲的通道相比于无缓冲通道,多了一个缓存的功能,如下图描述的一样: 从图上可以明显看到和无缓冲通道的区别,无缓冲必须两个Goroutine都进入通道才能进行数据的交换,这个不用,如果数据有,直接就能 ...

Java第一、二次实训作业

1.有1.2.3.4共4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的排列. 代码 pack ...

加#include <mysql.h>,报了很多以下错误

1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(557): warning C4005: “FD ...

Git Bash关键命令

1.默认目录是C:\Users\用户名 2.切换目录:$cd c:\\windows 3.切换到上级目录:cd ..,中间有空格 4.列出某目录所有文件,相当于DOS下的dir:ls c:\\wind ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值