MathGroup Archive 2005

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

Search the Archive

Cases and Nonatomic expression

  • To: mathgroup at
  • Subject: [mg56718] Cases and Nonatomic expression
  • From: Swati Shah <swatshah at>
  • Date: Wed, 4 May 2005 00:34:32 -0400 (EDT)
  • Reply-to: Swati Shah <swatshah at>
  • Sender: owner-wri-mathgroup at

Hi Everyone

I have a list
k = {{1,1,2,2,3}, {1,2,2,2,3}, {2,3,3,3,3}, {5,2,2,2,1}, {6,1,1,1,1},

If the first element of the sublist is 1 I want to append the sublist to
g1, if it starts with 2 then append g2 or starts with 6 then append to g6

I used cases and did the following:
m1 = Cases[k, {1, __}];
m2 = Cases[k, {2, __}];
m3 = Cases[k, {3, __}];
m4 = Cases[k, {4, __}];
m5 = Cases[k, {5, __}];
m6 = Cases[k, {6, __}];

However, instead of typing each one of these lines separately, it
would be nice to use just a simple Map or something or a for loop (as
I have more than 50 different start values)

I tried the following 2 ways:

a) using a for loopFor [i = 1, i < 7, 
  t = "g" <> ToString [i];
  Print [t];
  t = Cases [k, {i, __}];
  Print [t]

However outside the for loop the values of g1..g6 is empty.

b) I tried using MAP (in the similar way as the for)

But I get the following error:
Append::normal: Nonatomic expression expected at position 1 in Append[g1,{1, \
168, 0.695873, 6.54462, 62.4578, 82.5056}]

Any suggestions as to how I can get this working?

Thanks in advance


  • Prev by Date: Re: Problems with eps format
  • Next by Date: Re: managing order of magnitude instead of numbers
  • Previous by thread: Re: Re: letrec/named let
  • Next by thread: Re: Cases and Nonatomic expression