对于列表k1 = [31.0,72,105.0,581.5,0,0,0],我想向反向列表中的第一个非零元素添加一个常量,例如100。
这就是我想要的:newk1 = [0,0,0,681.5,105,72,31]
作为Python的初学者,我无法弄清楚。请你帮助我好吗。那是我的代码:

k1=[31.0, 72, 105.0, 581.5, 0, 0, 0]
Inverselist=[]


for i in range(len(etack1)):
    Inverselist.append(etack1[-(i+1)])
    print("Inverselist", Inverselist)
newk1=Inverselist
run_once = 0
while run_once < 1:
    for j in  range(len(newk1)):
        if newk1[j-1]>0:
            newk1[j-1]=newk1[j-1]+100
            run_once = 1
            break
print("Newk1", newk1 )

最佳答案

我认为您对此有过多的思考:

首先,反转列表:

inverselist = k1[::-1]

然后,替换第一个非零元素:
for i, item in enumerate(inverselist):
    if item:
        inverselist[i] += 100
        break

关于python - 列表中的反向索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47025356/

10-10 05:57