Re: Apply or Map on some parts of lists - help
- To: mathgroup at smc.vnet.net
- Subject: [mg115620] Re: Apply or Map on some parts of lists - help
- From: Ray Koopman <koopman at sfu.ca>
- Date: Sun, 16 Jan 2011 05:55:42 -0500 (EST)
- References: <igrqdn$qot$1@smc.vnet.net>
On Jan 15, 1:46 am, dragec <culino... at gmail.com> wrote: > Dear, > I have > > List like: > > { {{TITLE1},{{x11,y11},{x12,y12},{x13,y13},{x14,y14}}}, > {{TITLE1},{{x21,y21},{x22,y22},{x23,y23},{x24,y24}}}, > {{TITLE1},{{x31,y31},{x32,y32},{x33,y33},{x34,y34}}} > > } > > So, I would like to apply some function (eg. #/3.6&) to all y's. > Is there any elegant way to do this. > I Know that you know how to do this. :) > > THX Here are two more suggestions. The first is a compact version of the second suggestion in my second post. It exemplifies the sort of code that gives functional programming a bad name. MapAt[MapAt[f,#,2]&/@#&,#,2]&/@data This one ought to be a little easier to follow. It's just a single MapAt, with an (awkwardly constructed) list of where the y's are. MapAt[f,data,Cases[Position[data,_,{4},Heads->False],{_,2,_,2}]]