How do I extract the middle elementselement(s) of a given list?
Here is some code that works, but seems a little too long:
extract[x_] :=
Part[x, If[IntegerQ[#], {#}, {Floor[#], Ceiling[#]}] & @ Median[Range[Length @ x]]]
Here is another, shorter routine, but for a list of even length, it only gives one value, not two. I think two values would be better for even lists:
extract[x_] := Part[x, Quantile[Range[Length @ x], 1/2]]
So is there concise, efficient code that will return two elements for a list of even length?