这一定很琐碎。
我想计算一下。
100*((1+r)**n),对于n=0,1,2,…,n
我用了下面的方法。
>>> list(itertools.accumulate([c0, range(5)], lambda w,r: w*(1.02**r)))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: unsupported operand type(s) for**or pow(): 'float' and 'range'```
3条答案
按热度按时间z18hc3ub1#
一种方法是列表理解
这将为n的每个值提供一个列表,0<=n<n
rseugnpd2#
你需要打开(星号,
*
)你的range
:vatpfxk53#
您需要范围来构建数字列表;将范围(5)放入列表不会实际生成列表: