替换列表内元组中的字符串

tay*_*tot 5 python arrays replace tuples list

我目前有以下列表:

data = [('b','..','o','b'),('t','s','..','t')]
Run Code Online (Sandbox Code Playgroud)

我试图找出一种方法将“..”字符串的所有实例替换为另一个字符串。在我的例子中,字符串是“”。

我尝试使用以下方法使用内置函数,但没有成功。

newData = list(map(lambda i: str.replace(i, ".."," "), data))
Run Code Online (Sandbox Code Playgroud)

有人能指出我正确的方向吗?我想要的输出如下:

newData = [('b',' ','o','b'),('t','s',' ','t')]
Run Code Online (Sandbox Code Playgroud)

小智 3

您可以将列表理解条件表达式一起使用:

>>> data = [('b','..','o','b'),('t','s','..','t')]
>>> newData = [tuple(s if s != ".." else " " for s in tup) for tup in data]
>>> newData
[('b', ' ', 'o', 'b'), ('t', 's', ' ', 't')]
>>>
Run Code Online (Sandbox Code Playgroud)