我的教授写了这个中值函数,我不太了解它.可有人请解释这部分i = len(list)/2和median = 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
Run Code Online (Sandbox Code Playgroud)
从我看到的一个例子中添加,即使是列表长度:
def median(s):
i = len(s)
if not i%2:
return (s[(i/2)-1]+s[i/2])/2.0
return s[i/2]
Run Code Online (Sandbox Code Playgroud)
这很好用,但我不明白最后一个 …