6
$\begingroup$

I couldn't find a similar question so I decided to ask this one. I have a nested list with many sublists of equal length. To make things easier let's say it's like that:

list={{2,1,7},{3,9,5},{4,8,6}}

I'd like to get a list of last elements from each sublist, in this case:

{7,5,6}

I'm not sure whether i should think of a pattern to do this or is there a simpler way?

$\endgroup$
  • 2
    $\begingroup$ Here are a few options: 1. Last /@ list 2. list[[All, -1]] 3. list /. {___, i_Integer} :> i $\endgroup$ – rm -rf Jan 27 '14 at 16:53
  • 1
    $\begingroup$ list[[;; , -1]] $\endgroup$ – RunnyKine Jan 27 '14 at 16:55
  • 1
    $\begingroup$ Transpose[list][[-1]] $\endgroup$ – C. E. Jan 27 '14 at 16:55
  • $\begingroup$ That was fast - thanks guys! $\endgroup$ – Wojciech Jan 27 '14 at 17:01
9
$\begingroup$

It is

list = {{2, 1, 7}, {3, 9, 5}, {4, 8, 6}};
list[[All, -1]]
(* {7, 5, 6} *)

or

Last /@ list
(* {7, 5, 6} *)
$\endgroup$
  • 3
    $\begingroup$ For beginners, the latter command is shorthand for Map[Last[#]&,list] $\endgroup$ – Michael Stern Jan 27 '14 at 17:10
  • 2
    $\begingroup$ Actually Map[Last, list] $\endgroup$ – Rojo Jan 27 '14 at 19:39
  • $\begingroup$ @Rojo Hehe... :-) $\endgroup$ – halirutan Jan 27 '14 at 20:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.