MathGroup Archive 2010

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

Search the Archive

Re: newbie list question

  • To: mathgroup at
  • Subject: [mg115002] Re: newbie list question
  • From: Leonid Shifrin <lshifr at>
  • Date: Tue, 28 Dec 2010 06:48:54 -0500 (EST)
  • References: <if70bt$330$>

Hi Gareth,

Assuming, that all elements from the second list are present in the
first, here is a simple way:

Flatten[Map[Position[listA, #, 1, 1] &, listB]]

For large listA and listB, this solution does not scale well however.
Here is another one, perhaps
a bit more obscure, but  with a much better performance:

listB /. Dispatch[Thread[listA -> Range[Length[listA]]]]

Again, both solutions assume that all elements in listB are also in

Hope this helps.


On Dec 26, 12:02 pm, Gareth Edwards <gareth.edwa... at>
> Hi,
> Liking Mathematica a lot, but struggling with the early part of the learn=
ing curve, i.e. don't know what I don't know...
> What would be the neatest syntax for finding the first location of elemen=
ts 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 locatio=
n in A of each element in B)
> Many thanks!

  • Prev by Date: Re: newbie list question
  • Next by Date: Re: bibtex support in Mathematica 8
  • Previous by thread: Re: newbie list question
  • Next by thread: Re: newbie list question