PythonでMedian

f:id:g_YUYUYU:20140426195557j:plain

コード

def checkio(data):
	if len(data) >= 1000000:
		return "Long"
	else:
		d = len(data)
		li = sorted(data)
		if (d + 1) % 2 == 0:
			print li[(((d + 1) / 2) - 1)]
		else:
			n = (d + 1) // 2
			print ( li[(n - 1)] + li[n] ) / 2.0

checkio([1,2,3,4,5,6,7,8,9,10)]
checkio([200,300,100,55,77)

参考にしたサイト

一言

pythonでは要素を0から数えるため、N番目の要素番号を-1する