Re: newbie list question
- To: mathgroup at smc.vnet.net
- Subject: [mg115018] Re: newbie list question
- From: Michael Stern <nycstern at gmail.com>
- Date: Tue, 28 Dec 2010 06:51:50 -0500 (EST)
There are a number of ways to do this. I would do listA == {4, 5, 8, 2, 6, 4}; listB == {8, 4, 2}; Map[First[Position[listA, #]] &, listB] or, if you want the output in a flat list, replace the last line with Flatten[Map[First[Position[listA, #]] &, listB]] Either way, you're using the Map[] command to run the Position[] command over each of the three elements in listB. Cheers, Michael On Dec 26, 2010, at 4:02 AM, Gareth Edwards wrote: > Hi, > > Liking Mathematica a lot, but struggling with the early part of the learning curve, i.e. don't know what I don't know... > > What would be the neatest syntax for finding the first location of elements from one list in another? For example: > > listA == { 4,5,8,2,6,4 } > listB == { 8,4,2 } > > > I would like a function to return {3,1,4} in this case (the first location in A of each element in B) > > Many thanks! >