在Python中使用字符串格式

时间:2014-05-21 15:15:47

标签: python string formatting

我有预定的格式

FORMAT = "{0:<30}{1}"

我想在元组x中使用哪个,其中元组x类似于

['bananas', '246']

我已尽力而为,并且不断吐出错误。如何在我的元组中使用该格式?

编辑:我的预期输出应该(我认为)只是在第一个和第二个项目之间放置空格,比如

Bananas                                     246

我试过

x = FORMAT(x)

给出了

TypeError: 'str' object is not callable

1 个答案:

答案 0 :(得分:7)

str.format期望多个参数对应于格式化字符串中的占位符,而不是包含要格式化的多个项的单个参数。因此,我认为你想要的是:

FORMAT.format(*['bananas', '246'])

其中*表示“将iterable中的项解压缩为单独的位置参数”,即有效调用:

FORMAT.format('bananas', '246')

如果您的清单是例如

x = ['bananas', '246']

然后您可以转换为格式化的字符串,如:

x = FORMAT.format(*x)