我想知道使用以下代码计算列表中位数的优点是
def median_fun(arg):
srtd_list = sorted(arg)
mid = len(arg)/2
if len(arg) % 2 == 0:
return (srtd_list[mid-1] + srtd_list[mid]) / 2.0
else:
return srtd_list[mid]
与使用以下功能相反?
lambda l:l.sort()or(l[len(l)/2]+l[~len(l)/2])/2.
我的理解是lamda函数只能在程序中使用一次。使用第一个函数而不是第二个函数有什么其他原因?