用其他数字更改数字的第二,第三,第四出现

问题描述

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)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...