通常の方法:
リストを並べ替えてから、奇数または偶数の長さに基づいて中央値を計算します
def huahua(x):
length = len(x)
print(length)
x.sort()
print(x)
if (length % 2)== 1:
z=length // 2
y = x[z]
else:
y = (x[length//2]+x[length//2-1])/2
return y
l = [1,2,3,7,5,6,4,9,8,10]
print(huahua(l))
一番いい方法:
反転法を使用して中央値を見つけます。並べ替え後の結果はl = [1,2,3,4,5,6,7,8,9,10]、長さは10、half = 10 // 2 =です。 5、x [5]はリストの6桁目、5の逆数は-6、x [-6]は実際にはリストの逆検索、リストの5桁目、長さは偶数です。 10時の中央値は5+ 6/2 = 5.5です。
結果がl = [1,2,3,4,5,6,7,8,9]の場合、長さは9、half = 9 // 2 = 4、x [4]はリストの5桁目です。 、4は-5に反転され、x [-5]はリストの順方向および逆方向検索の5桁目であるため、x [4] == x [-5]、中央値はx [4]です。またはx [-5]。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def median(data):
data.sort()
half = len(data) // 2
return (data[half] + data[~half])/2
l = [1,2,3,7,5,6,4,9,8,10]
if __name__ == '__main__':
print(median(l))