Python 用其他数字更改数字的第二、第三、第四次出现

Python 用其他数字更改数字的第二、第三、第四次出现,python,list,loops,replace,counter,Python,List,Loops,Replace,Counter,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) e

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,其余的将相应地就位

尝试从
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:
        b.append(countOnes)
        countOnes+=1
    else:
        b.append(i)
        
print(b)

正确完成后,该打印什么?正确完成后,该打印什么?如果是第三次打印,该怎么办?您的意思是希望第一次和第二次打印保持为1,但开始用2更新第三次打印,用3更新第四次打印,等等?如果是从第三次出现怎么办?你的意思是你想让第一次和第二次出现保持为1,但开始用2更新第三次出现,用3更新第四次出现,等等?如果是从第三次出现怎么办?你必须在“countOnes+=1”之前添加一个if条件参见答案中的代码如果是第三次出现的话会怎样?您必须在“countOnes+=1”之前添加一个if条件参见答案中的代码