Python strings have a method called zfill
that allows to pad a numeric string with zeros to the left.
Python字符串有一个名为zfill的方法,它允许用左边的零填充数字字符串。
In : str(190).zfill(8)
Out: '00000190'
How can I make the pad to be on the right ?
如何让垫子在右边?
3 个解决方案
#1
10
See Format Specification Mini-Language:
请参阅格式规范迷你语言:
In [1]: '{:<08d}'.format(190)
Out[1]: '19000000'
In [2]: '{:>08d}'.format(190)
Out[2]: '00000190'
#2
2
Hint: The string can be inverted twice: before and after using the zfill
method:
提示:字符串可以反转两次:使用zfill方法之前和之后:
In : acc = '991000'
In : acc[::-1].zfill(9)[::-1]
Out: '991000000'
Or even more easier:
或者更容易:
In : acc.ljust(9, '0')
Out: '991000000'
#3
2
As maybe a alternative more portable [1] and efficient [2], actually you can just use str.ljust.
作为替代更便携[1]和高效[2]的替代方案,实际上你可以使用str.ljust。
In [2]: '190'.ljust(8, '0')
Out[2]: '19000000'
In [3]: str.ljust?
Docstring:
S.ljust(width[, fillchar]) -> str
Return S left-justified in a Unicode string of length width. Padding is
done using the specified fill character (default is a space).
Type: method_descriptor
[1] format is not present on old python versions. format specifier was added since Python 3.0 (see PEP 3101) and Python 2.6.
[1]格式在旧的python版本中不存在。格式说明符是从Python 3.0(参见PEP 3101)和Python 2.6开始添加的。
[2] reverse twice is an expensive operation.
[2]反转两次是一项昂贵的操作。
#1
10
See Format Specification Mini-Language:
请参阅格式规范迷你语言:
In [1]: '{:<08d}'.format(190)
Out[1]: '19000000'
In [2]: '{:>08d}'.format(190)
Out[2]: '00000190'
#2
2
Hint: The string can be inverted twice: before and after using the zfill
method:
提示:字符串可以反转两次:使用zfill方法之前和之后:
In : acc = '991000'
In : acc[::-1].zfill(9)[::-1]
Out: '991000000'
Or even more easier:
或者更容易:
In : acc.ljust(9, '0')
Out: '991000000'
#3
2
As maybe a alternative more portable [1] and efficient [2], actually you can just use str.ljust.
作为替代更便携[1]和高效[2]的替代方案,实际上你可以使用str.ljust。
In [2]: '190'.ljust(8, '0')
Out[2]: '19000000'
In [3]: str.ljust?
Docstring:
S.ljust(width[, fillchar]) -> str
Return S left-justified in a Unicode string of length width. Padding is
done using the specified fill character (default is a space).
Type: method_descriptor
[1] format is not present on old python versions. format specifier was added since Python 3.0 (see PEP 3101) and Python 2.6.
[1]格式在旧的python版本中不存在。格式说明符是从Python 3.0(参见PEP 3101)和Python 2.6开始添加的。
[2] reverse twice is an expensive operation.
[2]反转两次是一项昂贵的操作。