python字符串 列表相关

python对于列表的操作

lst = ['A1_12','A4_23','A4_03','A1_05','A3_12','A2_07','A1_07','A3_01','A1_04','A4_11']
for i in lst:
    i.replace('A','B',5)
    print(i)

为什么没能达到B替换A的效果

relplace不会修改原字符串,所以你需要将修改完了的保存一下
参考:

lst = ['A1_12','A4_23','A4_03','A1_05','A3_12','A2_07','A1_07','A3_01','A1_04','A4_11']
for i in range(len(lst)):
    lst[i] = lst[i].replace('A','B',5)
print(lst)

img


i=i.replace('A','B')

至于里面的5,我觉得没有意义

没有更换的原因是,是用replace()后,会生成一个新的数据,也就是i.replace('A','B',5)这个动作之后,会产生一个新的数据“B1_12”,而这个数据不会覆盖之前 i 所代表的"A1_12"。这个时候需要你用一个新的变量来存储数据“B1_12”。也就是将 i.replace('A','B',5) 所产生的新数据 赋值给变量 j ;代码的写法为:

j = i.replace("A", "B", 5)

如果还是想用变量 i 来存储信的数据,那么就把 i.replace('A','B',5) 所产生的新数据 赋值给变量 i,这个时候之前变量 i 所代表的"A1_12"就会被删除掉,更新为“B1_12”。 你再打印变量 i 的时候就会是“B1_12”了。

# 将你的代码  
 i.replace("A", "B", 5)
# 更改为:
i =  i.replace("A", "B", 5)