协慌网

登录 贡献 社区

将零填充到字符串的最好方法

使用零填充数字字符串的最 Pythonic 方法是什么,即数字字符串是否具有特定长度?

答案

字符串:

>>> n = '4'
>>> print(n.zfill(3))
004

对于数字:

>>> n = 4
>>> print('%03d' % n)
004
>>> print(format(n, '03')) # python >= 2.6
004
>>> print('{0:03d}'.format(n))  # python >= 2.6
004
>>> print('{foo:03d}'.format(foo=n))  # python >= 2.6
004
>>> print('{:03d}'.format(n))  # python >= 2.7 + python3
004
>>> print('{0:03d}'.format(n))  # python 3
004
>>> print(f'{n:03}') # python >= 3.6
004

字符串格式文档

只需使用字符串对象的rjust方法。

此示例将生成一个长度为 10 个字符的字符串,根据需要填充。

>>> t = 'test'
>>> t.rjust(10, '0')
>>> '000000test'

对于数字:

print "%05d" % number

另请参见: Python:字符串格式

编辑 :这是值得注意的是,截至昨日 2008 年 12 月 3 日的,格式化的这种方法有利于被弃用format字符串的方法:

print("{0:05d}".format(number)) # or
print(format(number, "05d"))

有关详细信息,请参阅PEP 3101