如何用单个元素替换字符串中的多个元素?

时间:2017-09-18 15:32:54

标签: python python-3.x

假设我有一个独特元素列表,

list = [.......,'a','b','c',.....]

如何更换' a'' b'用' d'结果如此,

list = [.....,'d','c'.....] 

没有任何循环。

我试过这样做,但它没有用。

list[list.index('a'):list.index('b')] = 'd'

2 个答案:

答案 0 :(得分:2)

切片l[start:stop]不包含stop位置的元素。

您的代码几乎是正确的,您只需要将1添加到list.index('b')

In [14]: l = ['a', 'b', 'c', 'e']

In [15]: l[l.index('a'):l.index('b') + 1] = 'd',

In [16]: l
Out[16]: ['d', 'c', 'e']

另外:尽量避免使用内置函数和类型的名称作为变量名。

答案 1 :(得分:0)

您可以先加入列表,然后使用replace

l = ["a", "d", "c", "a", "b", "c", "e"] #example list
new_list = list(''.join(l).replace("abc", "dc"))

输出:

['a', 'd', 'c', 'd', 'c', 'e']