Re: Extracting elements of lists

• To: mathgroup at smc.vnet.net
• Subject: [mg45495] Re: Extracting elements of lists
• From: bobhanlon at aol.com (Bob Hanlon)
• Date: Sat, 10 Jan 2004 00:00:41 -0500 (EST)
• References: <btncql\$1s\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Here are a few ways:

data = Table[Random[], {6},{4}];

extracts1 = data[[All,{1,2}]];

extracts2 = {#[[1]],#[[2]]}& /@ data;

extracts3 = Take[#,2]& /@ data;

extracts4 = Drop[#,-2]& /@ data;

extracts1 == extracts2 == extracts3 == extracts4

True

Bob Hanlon

In article <btncql\$1s\$1 at smc.vnet.net>, sashan <nothing at important.com> wrote:

<< 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,
0},....

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 {}.
>><BR><BR>

```

• Prev by Date: complicated vector-valued function
• Next by Date: Problem with FullSimplify in Version 5: Rationals are converted to Reals
• Previous by thread: Re: Extracting elements of lists
• Next by thread: RE: Extracting elements of lists