我有一个包含此代码的作业,matlab
我想知道 Python 中该函数的语法。它用于知道二进制数的平均值:
mean(POP)
如果您需要将 matlab 代码移植到 python,请考虑使用包numpy、scipy和matplotlib,它们之间涵盖了 matlab 的大部分功能。碰巧,numpy 包含一个numpy.mean
计算 numpy 数组或列表平均值的函数。例子:
import numpy
print(numpy.mean([1, 2, 3, 4, 5]))
想到的几个版本如下:
mean1 = lambda x: 1.0*sum(x)/len(x)
def mean2(x):
return 1.0*sum(x)/len(x)
def mean3(*args):
return 1.0*sum(args)/len(args)
在这里,mean1
和mean2
做的完全一样,但是第一个函数被定义为一个 lambda 表达式。它们都以列表为参数,使用sum
函数计算所有元素的总和,并使用len
函数知道列表中有多少元素。为了安全起见,我乘以 1.0,这样除法将始终产生一个浮点数。这在 Python 3 中不是必需的,其中/
操作将始终生成浮点数,而不是整数。
所以这两个版本可以这样使用:
mean1([1,2,3,4])
mean2([1,2,3,4])
并会产生结果2.5
。
在第三个版本中,你不需要指定一个列表,你可以给函数使用一些参数:
mean3(1,2,3,4)
这将再次返回2.5
。