循环列表,错误:"浮动'对象不是可订阅的"。

时间:2016-05-28 14:56:39

标签: python-3.x for-loop

我想创建一个新的浮动ES列表。 ES中的第一个值= L1中的第一个值。 ES的其余部分基于以下公式:我需要在不使用任何库/包的情况下执行此操作。

公式:es1 =(a * L1t)+(1-a)* ES t-1

L1 = [430.92, 437.39, 535.03, 496.54, 520.72, 628.35, 679.06, 636.99, 574.81, 579.04, 598.50, 683.85]
a = 0.25
ES = []
ES.append(float(L1[0]))
for i in range(1, len(L1)):
    es1 = (a * (L1[i])) + ((1 - a) * ES[i-1])
    ES.append(float(es1[i]))
print(ES)

1 个答案:

答案 0 :(得分:0)

错误消息告诉所有内容。如果仔细观察,解释器甚至会告诉您发生错误的行。在此行(ES.append(float(es1[i])))中,您尝试下标已分配给上一行中的浮点值的值。你也可以摆脱float构造函数:

L1 = [430.92, 437.39, 535.03, 496.54, 520.72, 628.35, 679.06, 636.99, 574.81, 579.04, 598.50, 683.85]
a = 0.25
ES = []
ES.append(L1[0])
for i in range(1, len(L1)):
    es_i = (a * (L1[i])) + ((1 - a) * ES[i-1])
    ES.append(es_i)
print(ES)