Re: Can anybody help?
- To: mathgroup at smc.vnet.net
- Subject: [mg63526] Re: [mg63519] Can anybody help?
- From: gardyloo <gardyloo at mail.wsu.edu>
- Date: Tue, 3 Jan 2006 05:24:42 -0500 (EST)
- References: <200601030626.BAA26066@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, Kent,
If I understand your question correctly, I think this will do it (not
sure about efficiency for very large lists, however):
v2[[Flatten[(Position[v1, #1] & ) /@ v3]]]
Note that the answer returned by this is actually
{12, 32, 63}
which differs from your proposed answer in the first element.
Hope that helps,
Curtis O.
Kent Holing wrote:
>I have three vecors containg: v1, v2 and v3.
>v1 and v2 has the same length. v3 is shorter than v1.
>All elements of v3 is an element of v1.
>Need to have the corresponding v2 values corresponding to the v3 (= v1) value.
>Know that the elements of v1 and v3 are different. The elements of v2 do not need to different.
>Ex:
>v1={1,2,3,4,5,6,7,8,9}
>v2={10,11,12,22,32,42,53,63,73}
>v3={3,5,8}
>The corresponding v2 values are {11,32,63}
>It easy to write straightforward code to do this.
>But is it really a very elegant/short way (one-liner?) of doing this in Mathematica?
>Kent Holing
>
>
>
>
- References:
- Can anybody help?
- From: Kent Holing <KHO@statoil.com>
- Can anybody help?