Re: easier method for Flatten[Position[list2,x_x...??
- To: mathgroup at smc.vnet.net
- Subject: [mg94009] Re: [mg93990] easier method for Flatten[Position[list2,x_x...??
- From: "David Park" <djmpark at comcast.net>
- Date: Tue, 2 Dec 2008 00:39:55 -0500 (EST)
- References: <29047814.1228133100799.JavaMail.root@m02>
If one can assume there are no duplicates in list2 then: list1 = {a, b, b, e}; list2 = {{a, aP}, {b, bP}, {c, cP}, {d, dP}, {e, eP}, {f, fP}}; First[Cases[list2, {#, x_} -> x]] & /@ list1 {aP, bP, bP, eP} David Park djmpark at comcast.net http://home.comcast.net/~djmpark From: Van Der Burgt, Maarten [mailto:Maarten.VanDerBurgt at icos.be] Dear all, Below I have two lists. The elements x in list1 all appear again in the 2nd level of list2 together with an associated parameter xP. I want to extract the xP as illustrated below. I have the feeling it can be done in an easier way. Does anyone have an idea how? Thanks for your help, Maarten list1={a,b,b,e}; list2={{a,aP},{b,bP},{c,cP},{d,dP},{e,eP},{f,fP}}; pos = Flatten[Position[list2,x_List/;x[[1]]==#]&/@list1]; list2[[pos,2]] Out-> {aP,bP,bP,eP}