0

我有一个包含此代码的作业,matlab我想知道 Python 中该函数的语法。它用于知道二进制数的平均值:

mean(POP)
4

2 回答 2

1

如果您需要将 matlab 代码移植到 python,请考虑使用包numpyscipymatplotlib,它们之间涵盖了 matlab 的大部分功能。碰巧,numpy 包含一个numpy.mean计算 numpy 数组或列表平均值的函数。例子:

import numpy
print(numpy.mean([1, 2, 3, 4, 5]))
于 2014-03-27T21:12:07.450 回答
0

想到的几个版本如下:

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)

在这里,mean1mean2做的完全一样,但是第一个函数被定义为一个 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

于 2014-03-27T21:47:46.947 回答