Here is one sample code, seems a little too long:
extract[x_]:=Part[x,If[IntegerQ[#],{#},{Floor[#],Ceiling[#]}]&@Median[Range[Length@x]]]
Here is another, shorter. But for Even list, it only gives one value, not two. I think two values for even list is much better in some sense.
extract[x_]:=Part[x,Quantile[Range[Length@x],1/2]]
So is there any consice code or efficient method?