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, but for a list of even lengyh, it only gives one value, not two. I think two values would be better for even list. 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?