显示带前导零的数字
鉴于。
a = 1
b = 10
c = 100
如何为所有少于两位数的数字显示前导零?
就是说。
01
10
100
809
15
鉴于。
a = 1
b = 10
c = 100
如何为所有少于两位数的数字显示前导零?
就是说。
01
10
100
在Python 2中,你可以这样做。
基本上%就像
printf
或sprintf
。对于Python 3.+,同样的行为可以通过以下方式实现。
对于Python 3.6+,同样的行为可以用f-strings来实现。
您可以使用[
str.zfill
][1]。版画。
[1]: https://docs.python.org/2/library/stdtypes.html#str.zfill
在Python 2.6+和3.0+中,你可以使用
format()
字符串方法。或使用内置的(单数)。
新的格式化功能请参见[PEP-3101][2]文档。
1:
[2]: http://www.python.org/dev/peps/pep-3101
版画。
或者这样。
print '{0:02d}'.format(1)
在Python >= 3.6中,你可以通过使用新的f-字符串来简洁地实现这一功能。
打印变量名
val
,其fill
值为0
,[width
][2]值为2
。对于您的具体示例,您可以在一个循环中很好地完成这个操作。
其中打印。
关于f弦的更多信息,请看[PEP 498][3],那里介绍了f弦。
1:
[2]: https://docs.python.org/3/library/string.html#grammar-token-width [3]: https://www.python.org/dev/peps/pep-0498/
的结果。
阅读文档中更多关于使用%进行字符串格式化的信息。
俾斯麦式的方法。
这样一来,如果原始字符串的长度大于string_width,就会被不变地返回。 例如:
}
结果:
或者另一种解决方案。
使用一个格式字符串 - http://docs.python.org/lib/typesseq-strings.html
比如说。
我就是这样做的。
基本上,zfill 是取你想要添加的前导零的数量,所以很容易取一个最大的数字,将它变成一个字符串,然后得到长度,就像这样。
使用。
或者使用
math
模块。df['Col1']=df['Col1'].apply(lambda x: '{0:0>5}'.format(x)) (5是总数字)
我用了这个链接。 http://www.datasciencemadesimple.com/add-leading-preceding-zeros-python/
如果处理的是一位或两位数的数字。
'0'+str(number)[-2:]
or'0{0}'.format(number)[-2:]