用列表中的不同值替换所有出现的一个字符串 - Python

时间:2013-09-11 22:29:29

标签: python text-parsing

我是python编程的新手。我有一个列表[亚历克斯,22,西雅图]和一个包含

的文本文件 我的名字是----。我是 - - 我住在----

我想要一些帮助,知道如何用该顺序中的每个元素替换这些'----'。

2 个答案:

答案 0 :(得分:1)

您可以使用reduce()replace()

>>> s = "my name is ----. I am ---- I live in ----"
>>> l = ['alex','22','seattle'] 
>>> reduce(lambda x, to: x.replace('----', to, 1), l, s)
'my name is alex. I am 22 I live in seattle'

答案 1 :(得分:0)

首先,这不是有效的列表文字,字符串需要引号。

在这种情况下,字符串格式化运算符%非常适合

>>> arr = ['alex', 22, 'seattle']
>>> template = 'my name is ----. I am ---- I live in ----'.replace('----', '%s')
>>> print template % tuple(arr)
my name is alex. I am 22 I live in seattle