MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mapping Functions That Take More Than One Argument

  • To: mathgroup at smc.vnet.net
  • Subject: [mg69890] Re: Mapping Functions That Take More Than One Argument
  • From: Peter Pein <petsie at dordos.net>
  • Date: Wed, 27 Sep 2006 06:03:40 -0400 (EDT)
  • References: <efaclu$1uo$1@smc.vnet.net>

Gregory Lypny schrieb:
> Hello everyone,
> 
> How can I map a functions onto sub-lists when the function takes more  
> than one argument.  I can't seem to stumble upon the right syntax.
> 
> Here's a list of three sub-lists.
> 
> {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
> 
> I want to drop the first element of each sub-list, that is, 1 from  
> the first, 4 from the second, and 7 from the third.
> 
> Drop[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, 1]
> 
> gives me
> 
> {{4, 5, 6}, {7, 8, 9}},
> 
> which is what I expected (I'm learning) but not what I want.  So, how  
> do I apply Drop to each sub-list?
> 
> Regards,
> 
> 	Gregory
> 

Hello Gregory,

at least four ways to do this come to my mind immediately; but I would 
use only the first one:

lst = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
Rest /@ lst   (*or Map[Rest,lst] *)
--> {{2, 3}, {5, 6}, {8, 9}}

Drop[list,1] is the same as Rest[list]:
(Drop[#1, 1] & ) /@ lst

one can use patterns:
lst /. {Except[_List], r___} :> {r}

or become cumbersomely
Transpose[Rest[Transpose[lst]]]


Peter


  • Prev by Date: Re: Mapping Functions That Take More Than One Argument
  • Next by Date: strange random behavior ?
  • Previous by thread: Re: Mapping Functions That Take More Than One Argument
  • Next by thread: Re: Mapping Functions That Take More Than One Argument