我有一个字符串和2个数组,如下所示:
st="a1b2c3d"
arr1 = ['1','2','3']
arr2 = ['X','Y','Z']
我想将“ 1”,“ 2”,“ 3”的所有值替换为“ X”,“ Y”,“ Z”。最终的字符串如下所示:
'aXbYcZd'
所以我写了这个for循环:
for i in range(0, len(arr1)):
st.replace(str(arr1[i]),str(arr2[i]))
结果是:
'aXb2c3d'
'a1bYc3d'
'a1b2cZd'
如何正确地做我上面想要的?
谢谢!
最佳答案
使用zip()
同时遍历两个列表以替换值:
st = "a1b2c3d"
arr1 = ['1','2','3']
arr2 = ['X','Y','Z']
for x, y in zip(arr1, arr2):
st = st.replace(x, y)
print(st)
# aXbYcZd
str.replace()
不会替换字符串。您需要将返回值分配回变量。关于python - 替换Python字符串中2个数组的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54722504/