在Python中使用字符串格式

Chr*_*ael 1 python string formatting

我有一个预定的格式

FORMAT = "{0:<30}{1}"
Run Code Online (Sandbox Code Playgroud)

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

['bananas', '246']
Run Code Online (Sandbox Code Playgroud)

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

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

Bananas                                     246
Run Code Online (Sandbox Code Playgroud)

我试过了

x = FORMAT(x)
Run Code Online (Sandbox Code Playgroud)

这使

TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)

jon*_*rpe 7

str.format期望与格式化的字符串中的占位符对应的多个参数,而不是包含要格式化的多个项的单个参数.所以我觉得你想要的是:

FORMAT.format(*['bananas', '246'])
Run Code Online (Sandbox Code Playgroud)

其中的*意思是"将迭代中的项目作为单独的位置参数解包",即有效地调用:

FORMAT.format('bananas', '246')
Run Code Online (Sandbox Code Playgroud)

如果您的清单是例如

x = ['bananas', '246']
Run Code Online (Sandbox Code Playgroud)

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

x = FORMAT.format(*x)
Run Code Online (Sandbox Code Playgroud)