MathGroup Archive 1999

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

Search the Archive

Re: Lists to mask other lists

  • To: mathgroup at smc.vnet.net
  • Subject: [mg19171] Re: [mg19022] Lists to mask other lists
  • From: "Wolf, Hartmut" <hwolf at debis.com>
  • Date: Tue, 10 Aug 1999 02:52:38 -0400
  • Organization: debis Systemhaus
  • References: <199908031744.NAA05824@smc.vnet.net.>
  • Sender: owner-wri-mathgroup at wolfram.com

Hello Aram,

aram schiffman schrieb:
> 
> 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

In[1]:= maskList = {1, 0, 0, 1, 1}
Out[1]= {1, 0, 0, 1, 1}
In[2]:= realDealList = {aaa, bbb, ccc, ddd, eee}
Out[2]= {aaa, bbb, ccc, ddd, eee}

In[3]:= controlList = maskList /. {1 -> False, 0 -> True}
Out[3]= {False, True, True, False, False}
In[4]:= MapThread[If[#2, "aram", #1] &, {realDealList, controlList}]
Out[4]= {aaa, "aram", "aram", ddd, eee}

According to that you might define a function
mapOnlyIf[f_,realDeal_,control_]

kind regards, hw



  • Prev by Date: Re: How to suppress the beep in version 4?
  • Next by Date: Re: How to suppress the beep in version 4?
  • Previous by thread: Lists to mask other lists
  • Next by thread: Re: Lists to mask other lists