Re: Mapping tag-value lists to a third
- To: mathgroup at smc.vnet.net
 - Subject: [mg132455] Re: Mapping tag-value lists to a third
 - From: Carl K Woll <carlw at wolfram.com>
 - Date: Thu, 20 Mar 2014 05:27:25 -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
 - References: <20140317062731.30FA06A09@smc.vnet.net>
 
On 3/17/2014 1:27 AM, carlos.felippa%colorado.edu at gtempaccount.com wrote:
> Hi,
>
> I have 2 lists of equal length such as
>
> tag={0, 1, 0, 0, 0, 1, 0, 1};  val={f1,f2,f3,f4,f5,f6,f7,f8}
>
> and want to produce a third:
>
> tagval={f2,f6,f8}
>
> with length Count[tag,1] containing the entries of val marked by 1-tags. Should be
> something efficient, since the source lists may be large (10^6 to 10^7).  Thanks.
>
I think Pick is what you want:
In[366]:= Pick[val, tag, 1]
Out[366]= {f2, f6, f8}
Carl Woll
- References:
- Mapping tag-value lists to a third
- From: carlos.felippa%colorado.edu@gtempaccount.com
 
 
 - Mapping tag-value lists to a third