今日数学课,遇到一个问题,计算方差,有点困难。请教老师,得知可以用 map 函数。
map 函数有两个参数,一个是列表,另一个参数是一个函数,要求此函数只能有一个参数。
我使用熟悉的插入函数方法,发现很麻烦,因为插入的函数要用到已知列表本身(求整个列表的长度),如不先定义,则至少需要两个参数。比较方便的解决办法是 lambda 。
其中求和可以用 sum 函数代,求平均数可以写成一个函数,叫 avg 好了。
map 函数有两个参数,一个是列表,另一个参数是一个函数,要求此函数只能有一个参数。
我使用熟悉的插入函数方法,发现很麻烦,因为插入的函数要用到已知列表本身(求整个列表的长度),如不先定义,则至少需要两个参数。比较方便的解决办法是 lambda 。
def fanch (*l):
def fan1 (l):
return map(lambda a: (a-(reduce(ad, l) / len(l)))**2, l)
def ad (a, b):
return a + b
def fan2 (l):
return reduce(ad, l)*1.0 / len(l)
return fan2(fan1(l))
其中求和可以用 sum 函数代,求平均数可以写成一个函数,叫 avg 好了。