pythonic语法中的均值(POP)?

时间:2014-03-27 21:08:25

标签: python matlab population

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

mean(POP)

2 个答案:

答案 0 :(得分:1)

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

import numpy
print(numpy.mean([1, 2, 3, 4, 5]))

答案 1 :(得分: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