MathGroup Archive 2014

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

Search the Archive

Re: Mapping tag-value lists to a third

  • To: mathgroup at smc.vnet.net
  • Subject: [mg132449] Re: Mapping tag-value lists to a third
  • From: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>
  • Date: Wed, 19 Mar 2014 04:23:08 -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

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.

Hi, Carlos,

This may be done by several ways. For example, like this:

tag = {0, 1, 0, 0, 0, 1, 0, 1};
val = {f1, f2, f3, f4, f5, f6, f7, f8};

tag.val /. Plus -> List

{f2, f6, f8}

Or like this:

Delete[MapThread[Times, {tag, val}],
 Position[MapThread[Times, {tag, val}], 0]]

{f2, f6, f8}

I think one can find also other approaches.

Have fun, Alexei


Alexei BOULBITCH, Dr., habil.
IEE S.A.
ZAE Weiergewan,
11, rue Edmond Reuter,
L-5326 Contern, LUXEMBOURG

Office phone :  +352-2454-2566
Office fax:       +352-2454-3566
mobile phone:  +49 151 52 40 66 44

e-mail: alexei.boulbitch at iee.lu





  • Prev by Date: Re: Do we need a When function?
  • Next by Date: Re: Help with a function for plotting zeros and poles
  • Previous by thread: Re: Mapping tag-value lists to a third
  • Next by thread: Re: Mapping tag-value lists to a third