python - 替换字符串中的多个特定字符

时间:2017-11-30 17:41:51

标签: python python-3.x

我想替换仅包含点的单词中的多个字符。 例如。 我有4个点,列表中有2个索引号和一个字母。

     word = '....'
     list = [2, 3]
     letter = 'E'

我想用字母' E'替换单词中的第3个和第4个(所以索引2和3)点。

有办法做到这一点吗?如果是这样我怎么做? 我试过了。替换和其他方法,但似乎没有。

2 个答案:

答案 0 :(得分:2)

字符串在python中是不可变的。你无法改变它们。您必须使用所需内容创建一个新字符串。

在这个例子中,我使用枚举来对单词中的每个字符进行编号,然后检查索引列表以决定是否在新生成的单词中包含原始字符或新字母。然后加入一切。

new_word = ''.join(letter if n in list else ch for n, ch in enumerate(word))

答案 1 :(得分:0)

你可以试试这个:

word = '....'
list = [2, 3]
letter = 'E'
word = ''.join(a if i not in list else letter for i, a in enumerate(word))

输出:

'..EE'