MathGroup Archive 2011

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

Search the Archive

Re: how to partition a list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg117373] Re: how to partition a list
  • From: Ray Koopman <koopman at sfu.ca>
  • Date: Wed, 16 Mar 2011 06:29:16 -0500 (EST)
  • References: <ilksc4$69u$1@smc.vnet.net> <201103141158.GAA07823@smc.vnet.net> <ilnhfj$odp$1@smc.vnet.net>

On Mar 15, 4:10 am, Ted Sariyski <tsari... at craft-tech.com> wrote:
> Hi,
> I have data with the following structure:  the first element is the
> number of variables.  For each variable follow:
> title,x_var,y_var,dummy,number of points, {points}. I want to extract
> data for each variable. Coming from Fortran I tend to make a Do-cycle,
> count for the current position and assign values one by one. Is there a
> better approach to this problem?
> Thanks,
> --Ted
>
> data={{3}, {"T", "vs.", "Distance", "for", "part", 4}, {"Distance"},
> {"T"}, {1}, {5}, {0, 300.006}, {5,  300.006}, {10, 300.006}, {15,
> 300.006}, {20, 300.006},
> {"P", vs.", "Distance", "for", "part", 4}, {"Distance"}, {"P"}, {1},
> {6}, {0, 1.00007}, {5, 1.00007}, {10, 1.00007}, {15, 1.00007}, {20,
> 1.00007}, {25, 1.00007},
> {"CO2","vs.", "Distance", "for", "part", 4}, {"Distance"}, {"CO2"}, {1},
> {7}, {0, 0.000326099}, {5, 0.000326099}, {10, 0.000326099}, {15,
> 0.000326099}, {20, 0.000326099}, {25, 0.000326099}, {30, 0.000326099}}

This hops down the data vector, much as you would in Fortran.

Block[{p = 6}, Table[Take[data,{p+1, (p += data[[p,1]] + 5) - 5}],
               { data[[1,1]] } ] ]


  • Prev by Date: Re: Manipulating vectors with Position
  • Next by Date: Re: a warning message that would not go off even if you turn it off
  • Previous by thread: how to plot 'carpet' of curves
  • Next by thread: Re: how to partition a list