对列表使用 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 许可协议

阅读 283
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题