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}