Here is my attempt to use a more pythonic version
def median(a):
sorted_a = sorted(a)
if len(a) % 2 == 0:
median = sum(sorted_a[(len(a)//2)-1:(len(a)//2)+1])/2.
else:
median = sorted_a[(len(a)-1)//2]
>>> x = [64630, 11735, 14216, 99233, 14470, 4978, 73429, 38120, 51135, 67060]
>>> median(x)
>>> 44627.5
>>> y = [1, 2, 3]
>>> median(y)
>>> 2
source
share