我知道,当我使用如何在特定大小的变量中使用字符串格式?
"%2d"%(x)
我会得到x的字符串,并以2至少大小,如果x的长度短于2我将收到获得空间。 但我怎样才能把2作为一个变量呢? 例如:
"%nd"%(2,1)
' 1'
是否有可能在Python?或者我需要为它创建一个循环?
我知道,当我使用如何在特定大小的变量中使用字符串格式?
"%2d"%(x)
我会得到x的字符串,并以2至少大小,如果x的长度短于2我将收到获得空间。 但我怎样才能把2作为一个变量呢? 例如:
"%nd"%(2,1)
' 1'
是否有可能在Python?或者我需要为它创建一个循环?
使用*
和实际宽度将从值的元组的下一个元素被读取,并且转换的值将是一个如下:
>>> "%*d" % (2, 1)
' 1'
这是记录在文档中的String Formatting Operations部分 - 它说:
- 最小字段宽度(可选)。如果指定为
'*'
(星号),则将从元组的下一个元素值中读取实际宽度,并且要转换的对象位于最小字段宽度和可选精度之后。
非常感谢! 这是@vaultah评论一个这个工程! –
你可以选择要与新样式格式更详细:
>>> '{:{width}d}'.format(1, width=2)
' 1'
不是新风格的粉丝,但它的工作原理 –
@guy:实际上新风格有点更强大(并且容易,一旦你掌握了它),所以我建议你花时间学习它。 – martineau
' '%* d' %(N,X)'应该工作 – vaultah
@vaultah是正确的。它为我工作。 –
FWIW新的格式应该在Python 2.7中工作:'{:> {}}'。格式(x,n)' – Billy