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)
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)