Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1998
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1998

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

Search the Archive

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)


  • Prev by Date: Transforming polygons from 1 3D Coordinate system to another
  • Next by Date: Re: mathlink program hanging in MLAnswer
  • Previous by thread: Re: List handling
  • Next by thread: Re: List handling