Re: RandomList and pure function

*To*: mathgroup at smc.vnet.net*Subject*: [mg70887] Re: RandomList and pure function*From*: albert <awnl at arcor.de>*Date*: Mon, 30 Oct 2006 05:33:33 -0500 (EST)*References*: <ei18or$8n7$1@smc.vnet.net>

Marc VIAL wrote: > > Hi, > > Sorry for this naive question, but I try to apply a pure function of 2 > arguments to a list of n rows with 2 clm using the mapping function: > > n=100;lis=RandomReal[{0,1},{n,2}]; > (#1+2 #2)&/@lis > > however it only captures the first term in the list and leave #2 > unassigned. > > Any advice? Note that using your construct the pure function does not see two arguments but one argument which happens to be a list of two numbers. So this should work: (#[[1]]+2*#[[2]])& /@ lis If you want to apply a function of two arguments, you will in this case need to use Apply, not Map. The following does this: (#1 + 2 #2) & @@@ lis and is a shorthand for: Apply[(#1 + 2 #2) &, lis, {1}] hth, albert