我有四个或更少的数字,例如8或12或197.我喜欢把0在这个数字面前,直到它是4个位数,如0008或0012或0197.在Python中最简单的方法是什么?什么是最"Pythonic"?
我可以做一系列if语句,如下所示:
if len(number) == 1:
number = '000' + number
...
Run Code Online (Sandbox Code Playgroud)
但我觉得有一种更优雅的方式.
Aar*_*all 14
几种Pythonic方法可以做到这一点:
首先使用字符串格式化minilanguage,第一个零表示填充,4表示宽度:
>>> f'{5:04}'
'0005'
Run Code Online (Sandbox Code Playgroud)
另外,格式语言:
>>> five = 5
>>> f'{five:04}'
'0005'
Run Code Online (Sandbox Code Playgroud)
规范在:之后,0表示填充零,4表示宽度为4.
Python 3.6中的新功能是f字符串:
>>> minimum_width = 4
>>> filler = "0" # could also be just 0
>>> f'{five:{filler}{minimum_width}}'
'0005'
Run Code Online (Sandbox Code Playgroud)
最后,str.zfill方法是为此定制的:
>>> format(5, "04")
'0005'
>>> format(55, "04")
'0055'
>>> format(355, "04")
'0355'
Run Code Online (Sandbox Code Playgroud)