reducepython
① python3怎么用help函数查找rece
>>>fromfunctoolsimportrece
>>>help(rece)
Helponbuilt-infunctionreceinmole_functools:
rece(...)
rece(function,sequence[,initial])->value
,
fromlefttoright,.
Forexample,rece(lambdax,y:x+y,[1,2,3,4,5])calculates
((((1+2)+3)+4)+5).Ifinitialispresent,itisplacedbeforetheitems
ofthesequenceinthecalculation,andservesasadefaultwhenthe
sequenceisempty.
② Python中{}[]的问题
主要是由于rece函数,和map函数的原因
参考Rece说明:
Python中的rece
python中的rece内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给rece中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。
在python 3.0.0.0以后, rece已经不在built-in function里了, 要用它就得from functools import rece.
map的参数也类似,第一个参数是一个函数,第二个参数是一个可迭代对象。
map(str,n) 带入参数处理后会返回 (1,2,3,0,4,5,6),作为rece的可迭代对象
根据rece说明,首先1、2传入fol函数,得到1*10+2=12, 结果12和第三个数3再传入fol,得到123,……最终得到1230456,除以1000后应该是1230.456
③ python的rece累加问题
你可以试试sum(1,2),应该报同样的错,所以是sum的理解有问题
rece(lambdax,y:sum([x,y]),[1,2,3,4])
④ Python,redecu()函数
在Python 3里,rece()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里
用的话要 先引入
from functools import rece
⑤ python编写maprece如何输入输出
使用python写MapRece的“诀窍”是利用Hadoop流的API,通过STDIN(标准输入)、STDOUT(标准输出)在Map函数和Rece函数之间传递数据。
我们唯一需要做的是利用Python的sys.stdin读取输入数据,并把我们的输出传送给sys.stdout。Hadoop流将会帮助我们处理别的任何事情。
⑥ rece在python中是什么意思
这里说的很清楚。
http://m.blog.csdn.net/article/details?id=6859135
其实简单理解,就是把列表,元组的成员按照既定的规则累加。。
初学者,希望高手来拍砖。
⑦ 怎么用Python写maprece,请举例说明,初学者,请赐教,不胜感激
1.lambda
#匿名函数
#基本用法lambdax:x**2
#第一个参数,然后是表达式
#也可以使用如下
(lambdax:x**2)(5)
2.map()
defmap(function,sequence,*sequence_1):#realsignatureunknown;restoredfrom__doc__
"""
map(function,sequence[,sequence,...])->list
theargumentsequence(s).Ifmorethanonesequenceisgiven,the
itemofeachsequence,
sequenceshavethesamelength.IfthefunctionisNone,returnalistof
theitemsofthesequence().
"""
return[]
#两个参数,一个处理函数,一个可迭代的序列
#返回一个列表
#例如计算1到10的平方,并以列表的形式返回
map(lambdax:x**2,range(1,11))
#结果如下
[1,4,9,16,25,36,49,64,81,100]
#当然也可以如下这样使用
defsquare(x):
returnx**2
map(square,range(1,11))
3.rece()
defrece(function,sequence,initial=None):#realsignatureunknown;restoredfrom__doc__
"""
rece(function,sequence[,initial])->value
,
fromlefttoright,.
Forexample,rece(lambdax,y:x+y,[1,2,3,4,5])calculates
((((1+2)+3)+4)+5).Ifinitialispresent,itisplacedbeforetheitems
ofthesequenceinthecalculation,andservesasadefaultwhenthe
sequenceisempty.
"""
pass
#两个参数,一个接受两个参数的函数,一个序列参数
#例如计算1到10的和
rece(lambdax,y:x+y,range(1,11))
#当然,不适用lambda匿名函数也可以
defadd(x,y):
returnx+y
rece(add,range(1,11))
#结果如下
45
4.filter()
deffilter(function_or_none,sequence):#knownspecialcaseoffilter
"""
filter(functionorNone,sequence)->list,tuple,orstring
(item)istrue.If
functionisNone,returntheitemsthataretrue.Ifsequenceisatuple
orstring,returnthesametype,elsereturnalist.
"""
pass
#接受两个参数,一个过滤函数,返回True或者False,以及一个序列
#例如,计算100以内的偶数
filter(lambdax:x%2==0,range(100))
#如上
defdiv2(x):
ifx%2==0:
returnTrue
else:
returnFalse
filter(div2,range(100))
#结果如下
[0,2,4,6,8,10,12,14,16,...]
⑧ python中rece和lambda的一个小问题
rece(function, sequence, starting_value)
对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用。
lambda 允许你快速定义单行的最小函数,例如:
a=lambda x: x^2
a(3) 则返回整数9.
回头来看你的函数,lambda定义了一函数关于 x,y的关系式, 返回x*y+1的值,rece中的sequence是一个list,顺序取出x=0,y=0,第一次返回x=0,y=0,(x,y)=1,然后第二再取值,x=x,出错了,list中的x没有定义。
⑨ python的map和rece和Hadoop的MapRece有什么关系
关系就是都是基于Map-Rece的处理思想设计出来的。
从用户角度看功能其实差不多,
Python的Map函数和Hadoop的Map阶段对输入进行逐行处理;
Python的Rece函数和Hadoop的Rece阶段对输入进行累积处理。
但是其实完整的Hadoop MapRece是Map+Shuffle+Sort+Rece过程。
其中Shuffle过程是为了让分布式机群之间将同Key数据进行互相交换,Sort过程是根据Key对所有数据进行排序,从而才能完成类WordCount功能,而这两步在Python里面当然是需要用户自己去编写的。