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)
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)