【发布时间】:2011-06-15 11:32:39
【问题描述】:
我正在尝试编写一个简洁的列表理解语句来创建一个 cdf: 例如:
print f([0.2, 0.3,0.1,0.4])
[0.2,0.5,0.6,1.0]
标准过程如下所示(我想为函数 f() 写一个列表推导):
def f(probabilities) :
sum = 0
returnList = []
for count in probabilities:
sum +=count
returnList = returnList + [sum]
return returnList
编辑:我找到了一个函数 numpy.cumsum()。我会检查它是否使用列表推导。
【问题讨论】:
-
@Elalfer — 听起来他想写一个列表解析,其行为与他的
f()函数的行为相同。 -
没错。我的错,我应该更明确。
-
那么你也可以用 numpy/scipy 标记问题。 numpy.cumsum() 不使用列表理解。您能否详细说明您想要实现的目标?
-
@jleedev 和其他关闭此问题的人:我是 SO 的新手,但我不会认为这个问题与可能的重复问题足够相似。具体请参阅我的答案的更新,其中应该清楚问题不是(仅)关于运行总数。本质上,cdf 必须总和为 1,并且由于 OP 确定了对 Numpy 的兴趣,为什么不让更多答案流入 ;-)。
标签: python functional-programming list-comprehension