在Python中执行操作并插入列表

2024-04-24 05:57:50 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我尝试在Python中对列表执行以下操作。你知道吗

p = []
p.append(1)
K=4
en=0.0
lambda1=0.8
mu1=1

for i in range (1, K+1):
 p[i] = p[i-1] * (lambda1 / mu1) 
 en += (i * p[i])           
 prob_arrival += p[i-1] * lambda1

我知道我错在哪里。基本上,我需要累计填充列表。现在我得到一个错误作为索引器:列表分配索引超出范围。 我该怎么解决这个问题?你知道吗


Tags: in列表for错误rangeenappendprob
2条回答

您试图访问只有一个元素为p[i]p[i-1]i1的列表,而实际上不在该位置插入任何值。这将导致您看到的IndexError。应该将值附加到for循环中的列表中。您可以使用-1索引访问列表中的最后一行。示例-

p = [1]
K=4
en=0.0
lambda1=0.8
mu1=1
prob_arrival = 0 #Or some other default value
for _ in range (0, K):
    p.append(p[-1] * (lambda1 / mu1))
    en += (i * p[-1])
    prob_arrival += p[-2] * lambda1

我还将p = []; p.append(1)简化为p=[1]。你知道吗

你的for循环出错了。Python列表从0开始,在len(youraray)-1结束。我想你是想打字

for x in range(0,K):
    # do stuff

相关问题 更多 >