MathGroup Archive 2004

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

Search the Archive

RE: Extracting elements of lists

  • To: mathgroup at
  • Subject: [mg45491] RE: [mg45458] Extracting elements of lists
  • From: "David Park" <djmp at>
  • Date: Sat, 10 Jan 2004 00:00:38 -0500 (EST)
  • Sender: owner-wri-mathgroup at

The best chances of obtaining a good answer to a question like this is to
supply a COMPLETE set of data that the responder can use to test your
attempts and his own answer.

The responder can try to make up a set of test data, but this is often a lot
of work and may depart from the actual characteristics of your data.

Secondly, you haven't clearly stated what the rule is for extraction. Is the
responder supposed to surmise it from a routine you have written that you
say doesn't work?

Nevertheless, some of the people on MathGroup are so good that they may
still be able to make the right assumptions and give you a good answer. It
is just that your chances go up with a clearly defined and stated question.

David Park
djmp at

From: sashan [mailto:nothing at]
To: mathgroup at


I'm trying to extract a elements from a list and return another list
with those elements. I've tried doing it using a while loop and
recursion and haven't been able to do it.

The list I'm working with is a list of lists where each inner list
contains 4 elements. Example:
{{0, 1, 0, 0}, {0.04, 1, -0.0008, 0}, {0.1, 0.999987, -0.00499995,
     0}, {0.15, 0.999937, -0.0112494, 0}, {0.18, 0.999869, -0.0161983,

This is my recursive attempt:

listoftimex[l_] := {{First[l][[1]], First[l][[2]]}, listoftimex[Rest[l]]}

{{0, 1}, {{0.04,
    1}, {{0.1, 0.999987}, {{
     0.15, 0.999937}, {{0.18, 0.999869}, {{0.23, 0.99965}, {{0.26,
0.999429}, \
{{0.31, 0.998847}, {{0.35, 0.998128}, {{0.39,

It extracts the 1st 2 elements of the list and puts them in a list but
it nests lists too deep (too many { ) and it errors with 'Recursion
depth of 256 exceeded'.

This is my attempt using a while loop:
timex[l_] := Module[{i =
     1, ans = {}}, While[i < Length[l], Append[ans, {l[[i,
        1]], l[[i, 2]]}]; i = i + 1]; Return[ans]];

This doesn't work and returns an empty list {}.

I'm going to use python + reportlab now ....

  • Prev by Date: Problem with FullSimplify in Version 5: Rationals are converted to Reals
  • Next by Date: Re: Palette rememberance
  • Previous by thread: Re: Extracting elements of lists
  • Next by thread: Java programming and JLink