Python 在数字前加零,使其成为4位数字
我有四位或更少的数字,例如Python 在数字前加零,使其成为4位数字,python,Python,我有四位或更少的数字,例如8或12或197。我想在这个数字前面加上0,直到它是4位数,例如0008或0012或0197。在Python中,最简单的方法是什么?什么才是最“Pythonic” 我可以做一系列的if语句,比如: if len(number) == 1: number = '000' + number ... 但我觉得还有一种更优雅的方式。有几种Python的方式可以做到这一点,我非常喜欢Python 3.6中的新f字符串: >>> f'{5:04}' '0
8
或12
或197
。我想在这个数字前面加上0,直到它是4位数,例如0008
或0012
或0197
。在Python中,最简单的方法是什么?什么才是最“Pythonic”
我可以做一系列的if语句,比如:
if len(number) == 1:
number = '000' + number
...
但我觉得还有一种更优雅的方式。有几种Python的方式可以做到这一点,我非常喜欢Python 3.6中的新f字符串:
>>> f'{5:04}'
'0005'
这将使用字符串格式迷你语言:
>>> five = 5
>>> f'{five:04}'
'0005'
>>> '{0:04}'.format(5)
'0005'
前零表示填充,4表示宽度:
>>> minimum_width = 4
>>> filler = "0" # could also be just 0
>>> f'{five:{filler}{minimum_width}}'
'0005'
接下来,使用内置格式函数:
>>> format(5, "04")
'0005'
>>> format(55, "04")
'0055'
>>> format(355, "04")
'0355'
此外,使用minilanguage的字符串格式方法:
>>> five = 5
>>> f'{five:04}'
'0005'
>>> '{0:04}'.format(5)
'0005'
同样,规范位于:,0表示用零填充,4表示宽度为4
最后,str.zfill方法是为此定制的,这可能是最快的方法:
>>> str(5).zfill(4)
'0005'