Re: Changing a list with the information of other
- To: mathgroup at smc.vnet.net
- Subject: [mg131411] Re: Changing a list with the information of other
- From: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>
- Date: Wed, 3 Jul 2013 05:03:26 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
Good morning I have the following (possibly very simple) problem. I have a list, created using a Table {{0, 1}, {1, w}, {2, 1 + w}, {3, 1 + 2 w}, {4, 2}, {5, 2 w}, {6, 2 + 2 w}, {7, 2 + w}}. Then, using another Table, I created the list {1, 1 + w, 2 + w, 2 w, 2, 2 + 2 w, 1 + 2 w, w} Note that all these elements appear always in second place, in the ordered pairs of the first list. What I want is an instruction that allows to replace all these elements by the ones that appear first in the ordered pairs above. That is, I would like to replace this list by the new one {0, 2, 7, 5, 4, 6, 3, 1}. As you may guess this is only of interest when the lists are very big (with thousands of elements). Thank you Hi, Try this: lst1 = {{0, 1}, {1, w}, {2, 1 + w}, {3, 1 + 2 w}, {4, 2}, {5, 2 w}, {6, 2 + 2 w}, {7, 2 + w}}; lst2 = {1, 1 + w, 2 + w, 2 w, 2, 2 + 2 w, 1 + 2 w, w}; f[a_] := Select[lst1, #[[2]] == a &][[1, 1]]; Map[f, lst2] {0, 2, 7, 5, 4, 6, 3, 1} Have fun, Alexei Alexei BOULBITCH, Dr., habil. IEE S.A. ZAE Weiergewan, 11, rue Edmond Reuter, L-5326 Contern, LUXEMBOURG Office phone : +352-2454-2566 Office fax: +352-2454-3566 mobile phone: +49 151 52 40 66 44 e-mail: alexei.boulbitch at iee.lu