Re: List handling
- To: mathgroup at smc.vnet.net
- Subject: [mg15283] Re: List handling
- From: gaylord at ux1.cso.uiuc.edu (richard j. gaylord)
- Date: Thu, 31 Dec 1998 04:39:37 -0500
- Organization: university of illinois
- References: <76ciqj$o51@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
hi jorge: this will do it. In[93]:= ListA= {1977.06,1977.06,1977.06,1977.06,1977.06,2047.77,2047.77,2047.77,2047.77, 2181.55,2181.55,2181.55,2244.73,2244.73,2244.73,2305.5,2305.5,2305.5,2305.5, 2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92 ,2363.92}; In[94]:= ListB= {0.684807,0.683029,0.665242,0.665242,0.664123,0.683029,0.665242,0.665242, 0.664123,0.640339,0.640339,0.620329,0.640339,0.640339,0.620329,0.661684,0.640339,0.640339,0.620329,0.640339,0.622044,0.640339,0.621506,0.660996,0.640339,0.641006,0.640339,0.620935,0.640339,0.640339}; In[95]:= ListC= {1971.45,1973.53,1994.29,1994.29,1995.6,2044.23,2065.,2065.,2066.3,2227.86, 2227.86,2251.22,2291.04,2291.04,2314.4,2326.89,2351.81,2351.81,2375.17, 2410.22,2431.58,2410.22,2432.21,2386.11,2410.22,2409.44,2410.22,2432.88,2410.22, 2410.22}; In[96]:= ListA[[ Flatten[Position[ListB,_?(#>0.68&)]] ]] = ListC[[ Flatten[Position[ListB,_?(#>0.68&)]] ]]; In[99]:= ListA Out[99]= {1971.45,1973.53,1977.06,1977.06,1977.06,2044.23,2047.77,2047.77,2047.77, 2181.55,2181.55,2181.55,2244.73,2244.73,2244.73,2305.5,2305.5,2305.5,2305.5, 2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92, 2363.92,2363.92} you can also use the more compact form (ListA[[#]] = ListC[[#]])&[Flatten[Position[ListB,_?(#>0.68&)]]]; -richard- ========================= In article <76ciqj$o51 at smc.vnet.net>, "Jorge Zickermann" <jzickermann at mail.EUnet.pt> wrote: > listA= > > {1977.06,1977.06,1977.06,1977.06,1977.06,2047.77,2047.77,2047.77,2047.77,218 > 1.55,2181.55,2181.55,2244.73,2244.73,2244.73,2305.5,2305.5,2305.5,2305.5,236 > 3.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92 > ,2363.92} > > ListB= > > {0.684807,0.683029,0.665242,0.665242,0.664123,0.683029,0.665242,0.665242,0.6 > 64123,0.640339,0.640339,0.620329,0.640339,0.640339,0.620329,0.661684,0.64033 > 9,0.640339,0.620329,0.640339,0.622044,0.640339,0.621506,0.660996,0.640339,0. > 641006,0.640339,0.620935,0.640339,0.640339} > > ListC= > > {1971.45,1973.53,1994.29,1994.29,1995.6,2044.23,2065.,2065.,2066.3,2227.86,2 > 227.86,2251.22,2291.04,2291.04,2314.4,2326.89,2351.81,2351.81,2375.17,2410.2 > 2,2431.58,2410.22,2432.21,2386.11,2410.22,2409.44,2410.22,2432.88,2410.22,24 > 10.22} > > Position[ListB,_?(#>0.68&)] > > {{1},{2},{6}} > > Having obtained the positions of certain selected elements from ListB, I > want to substitute the corresponding elements in ListA by the > corresponding elements in ListC. In other words, I want to end up with; > > > listA= > > {1971.45,1973.53,1977.06,1977.06,1977.06,2044.23,2047.77,2047.77,2047.77,218 > 1.55,2181.55,2181.55,2244.73,2244.73,2244.73,2305.5,2305.5,2305.5,2305.5,236 > 3.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92,2363.92 > ,2363.92} > > Any help on how to do this is welcome. Thank you. > > Jorge -- "I would say life is pretty pointless, wouldn't you, without the movies?" Vincent Gallo as Johnny Tempi in The Funeral (1996)