python 中的字符串替换 - % 的操作数类型不受支持:'list' 和 'str'

string substitution in python - unsupported operand type(s) for %: 'list' and 'str'

我被一段简单的代码卡住了,我确定这只是一个愚蠢的错误,希望有人能指出来。这是我的代码:

a = ['_a','_b','_c']
data_template = ['data%s']
for f in a:
    this_data = data_template % (f)
    print this_data

我只想打印出来

data_a
data_b
data_c

但我收到以下错误:

TypeError: unsupported operand type(s) for %: 'list' and 'str'

如有任何建议,我们将不胜感激!

您需要为模板使用 stringdata_template = 'data%s'

% 运算符适用于字符串,不适用于列表。

您不能将模板放在列表中,只需这样做

data_template = 'data%s'

this_data = data_template[0] % (f)

你应该很好。

感谢@plamut 我在发布它的那一刻也想通了。错误的引号,应该是:

data_template = ["data%s"] 

而不是

data_template = ['data%s']

注意:这也是错误的

应该是

data_template = "data%s"