私の教授はこの中央値関数を書きましたが、私はそれをよく理解していません。i = len(list)/2
誰かがandmedian = avg()
とelse
ステートメントについての部分を説明してもらえますか?
def avg_list(numbers):
sum = 0
for num in numbers:
sum += num
avg = float(sum)/len(numbers)
print avg
def median(list):
list.sort()
if len(list)%2 == 0:
#have to take avg of middle two
i = len(list)/2
median = avg()
else:
#find the middle (remembering that lists start at 0)
i = len(list)/2
median = list
return median
リストの長さを均等にするために、私が見た例から追加するには:
def median(s):
i = len(s)
if not i%2:
return (s[(i/2)-1]+s[i/2])/2.0
return s[i/2]
return s[i/2]
これは非常にうまく機能しますが、最後の?がわかりません。
リストの長さが奇数の場合:
x = [1,2,5,2,3,763,234,23,1,234,21,3,2134,23,54]
median = sorted(x)[len(x)/2]
x
リストの長さが奇数なので、浮動小数点インデックスではありませんか[len(x)/2]
? 私はこれを完全に理解していませんか?私よりも優れた説明は大歓迎です。