使用预先确定的半衰期 python 创建指数衰减列表

Ste*_*n G 0 python list

我正在尝试尽可能高效地创建一个具有预定半衰期的固定长度指数衰减列表。

因此,假设我希望半衰期为 1,列表长度为 5,它将返回:

[1.0, 0.5, 0.25, 0.125, 0.0625]
Run Code Online (Sandbox Code Playgroud)

use*_*792 5

当简单的列表理解就可以时,不需要使事情变得过于复杂

r = 0.5
a = 1.0
n = 5
l = [a*r**i for i in xrange(n)]
Run Code Online (Sandbox Code Playgroud)

半衰期为 2,设置

r = 0.5 ** 0.5
[1.0, 0.7071067811865476, 0.5000000000000001, 0.35355339059327384, 0.25000000000000006]
Run Code Online (Sandbox Code Playgroud)