1

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

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'

任何建议将不胜感激!

4

3 回答 3

1

您需要使用 astring作为模板:data_template = 'data%s'

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

于 2015-08-16T20:55:35.283 回答
0

您不能将模板放在列表中,只需执行

data_template = 'data%s'

或者

this_data = data_template[0] % (f)

你应该很好。

于 2015-08-16T21:00:55.277 回答
0

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

data_template = ["data%s"] 

并不是

data_template = ['data%s']

注意:这也是错误的

应该

data_template = "data%s"
于 2015-08-16T21:03:17.390 回答