用其他数字更改第 2、3、4 次出现的数字

Changing the 2nd ,3rd,4th occurrence of a number with other numbers

a=[1,2,3,4,5,1,2,3,7,7,1,2,1,2,0,7,1] 在此列表中,我想从第二次出现的 1 开始将 1 的值更改为 2、3、4、5 等。让第一次出现的 1 保持原样。我写了一个程序,如下所示,但它也改变了第一个“1”。如何指示它从第二次出现而不是从第一次出现开始改变。我们可以使用计数器什么的吗?

a=[1,2,3,4,5,1,2,3,7,7,1,2,1,2,0,7,1]
change=2
b=[]
for i in a:
    if i!=1:
        b.append(i)
    elif i==1:
        b.append(change)
        change+=1
print(b)

尝试从 change=1 开始。现在,你从 2 开始,所以它遇到的第一个 1 将更改为 2。如果你改为从 1 开始,那么第一个将“更改”为 1,然后其余的应该相应地落到位

你应该试试这个

a=[1,2,3,4,5,1,2,3,7,7,1,2,1,2,0,7,1]
countOnes=1
b = []
for i in a:
    if i==1:
        b.append(countOnes)
        countOnes+=1
    else:
        b.append(i)
        
print(b)
a=[1,2,3,4,5,1,2,3,7,7,1,2,1,2,0,7,1]
countOnes=1
b = []
for i in a:
    if i==1:
        if countOnes > 3:
            b.append(countOnes)
        else:
            b.append(1)
        countOnes+=1
    else:
        b.append(i)
        
print(b)