我有一个字符串和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/

10-12 16:57