问题描述
a = [1,2,3,4,5,1,7,1] 在此列表中,我希望从第二次出现的1开始将1的值更改为2、3、4、5等。让第一次出现的1保持原样。我已经编写了下面给出的程序,但它也更改了第一个“ 1”。如何指示它从第二次发生而不是从第一次发生改变。我们可以使用计数器吗?
a=[1,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,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,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)