Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Mapping to Create Nested Loops

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119391] Re: Mapping to Create Nested Loops
  • From: Heike Gramberg <heike.gramberg at gmail.com>
  • Date: Wed, 1 Jun 2011 06:54:38 -0400 (EDT)

Do you want to gather the entries of all the arrays in 3 large lists, or do you want to generate red, blue
and green lists for each array separately? In the first case you could try

Cases[{myArray1, myArray2, myArray3}, {__, __, #, __, __, __}, Infinity] & /@ {red, blue, green}

which searches all levels of {myArray1,...,myArray3} for the given pattern.  In the second case you could
do something like

Function[{lst}, Cases[{lst}, {__, __, #, __, __, __}] & /@ {red, blue, green}] /@ {myArray1, myArray2, myArray3}

Then %[[1]] would give you the red, blue, green lists for myArray1, etc.


Heike.


On 1 Jun 2011, at 09:32, Gregory Lypny wrote:

> Hello everyone,
>
> I'm trying to learn how to use pure functions and mapping to create what amounts to nested loops.
>
> Suppose I have a 50 x 6 array called myArray.  The third element of each row is the word red, blue, or green.  If I wanted to break down the array into three according to the value of the third element, I could do this:
>
> Cases[myArray, {__, __, #, __, __, __}] & /@ {red, blue, green}
>
> But what if I needed to do this for more than one array?  Suppose I had three 50 x 6 arrays as
>
> myListOfArrays = {myArray1, myArray2, myArray3} or perhaps the arrays might be imported from files.
>
>
> Regards,
>
> Gregory
>


  • Prev by Date: Re: Dt@x@1
  • Next by Date: Re: Controlling the scale of x-axis in ListPlot
  • Previous by thread: Mapping to Create Nested Loops
  • Next by thread: Re: Mapping to Create Nested Loops