Dan*_*lik 17 python string-formatting
所以我知道"%02d to %02d"%(i, j)在Python中将零填充i和j.
但是,我想知道是否有任何方法可以在格式字符串中动态归零(我有一个数字列表,我希望零填充大小等于该列表中的最长数字).
我知道我可以使用zfill,但我希望我能用格式字符串完成整个事情.
Mar*_*ers 32
str.format()改为使用字符串格式的方法:
'{number:0{width}d}'.format(width=2, number=4)
Run Code Online (Sandbox Code Playgroud)
演示:
>>> '{number:0{width}d}'.format(width=2, number=4)
'04'
>>> '{number:0{width}d}'.format(width=8, number=4)
'00000004'
Run Code Online (Sandbox Code Playgroud)
的str.format()格式规范允许多次通过,其中替换的字段可以在参数填写格式规范.
在上面的示例中,硬编码的填充宽度规范如下所示:
'{:02d}'.format(4)
Run Code Online (Sandbox Code Playgroud)
要么
'{number:02d}'.format(number=4)
Run Code Online (Sandbox Code Playgroud)
使用命名参数.我只是2用另一个替换字段替换了宽度说明符.
要使用旧式%字符串格式获得相同的效果,您需要使用*宽度字符:
'%0*d' % (width, number)
Run Code Online (Sandbox Code Playgroud)
但这只能与值元组一起使用(不支持字典格式化)并且仅适用于字段宽度; 格式化中的其他参数不支持动态参数.
| 归档时间: |
|
| 查看次数: |
7388 次 |
| 最近记录: |