MathGroup Archive 1999

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

Search the Archive

Re: Lists to mask other lists


Hi Aram,

MapThread will work. I use a pure function, but you can define one with
a name if you like.

In[1]:=
maskList = {1, 0, 0, 1, 1};

In[2]:=
realDealList = {aaa, bbb, ccc, ddd, eee};

In[3]:=
MapThread[If[#1 == 1, #2, "aram"] &, {maskList, realDealList}]

Out[3]=
{aaa, "aram", "aram", ddd, eee}


 article <7o5hi2$rkt at smc.vnet.net>,
  aram schiffman <aram at sirius.com> wrote:
> Howdy.
>
> I am trying to use one list to control the content of a second list.
> (It's not really masking, but...)
>
> Here's what I mean. Let's say
>
> maskList={1,0,0,1,1}
>
> realDealList={aaa,bbb,ccc,ddd,eee}
>
> (* could be filled with anything; same # elements as maskList }
>
> If a 1 appears at position n of maskList, then I leave the
corresponding
> element of realDealList alone. But if a 0 appears, then I want to
change
> the corresponding element of realDealList in some prescribed way.
Let's
> say I change those elements to my first name (aram). Then realDealList
> would become
>
> {aaa,aram,aram,ddd,eee}
>
> I can do this in a loop, which is a really clunky solution, but isn't
> there a way I can Map across my list somehow?
>
> Thanks,
> Aram Schiffman
>
>


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.


  • Prev by Date: RE: Showing a limited GrayLevel
  • Next by Date: Employment Opportunity - Calculus Developer
  • Previous by thread: RE: Lists to mask other lists
  • Next by thread: Re: Lists to mask other lists