对列表使用 Python 字符串格式

新手上路,请多包涵

我在 Python 2.6.5 中构建了一个字符串 s 它将具有不同数量的 %s 标记,它们与列表中的条目数相匹配 x 我需要写出一个格式化的字符串。以下内容不起作用,但表明我正在尝试做什么。在这个例子中,有三个 %s 标记,列表有三个条目。

 s = '%s BLAH %s FOO %s BAR'
x = ['1', '2', '3']
print s % (x)

我希望输出字符串是:

1 BLAH 2 FOO 3 BAR

原文由 SabreWolfy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 286
2 个回答
print s % tuple(x)

代替

print s % (x)

原文由 infrared 发布,翻译遵循 CC BY-SA 3.0 许可协议

你应该看看python的 格式化 方法。然后你可以像这样定义你的格式字符串:

 >>> s = '{0} BLAH BLAH {1} BLAH {2} BLAH BLIH BLEH'
>>> x = ['1', '2', '3']
>>> print s.format(*x)
'1 BLAH BLAH 2 BLAH 3 BLAH BLIH BLEH'

原文由 Cédric Julien 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题