Skip to content
Advertisement

Generate list of numbers in specific format

I need to generate a list of numbers in a specific format. The format is

mylist = [00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15]
#Numbers between 0-9 are preceded by a zero.

I know how to generate a normal list of numbers using range

>>> for i in range(0,16):
...     print i

So, is there any built-in way in python to generate a list of numbers in the specified format.

Advertisement

Answer

Python string formatting allows you to specify a precision:

Precision (optional), given as a ‘.’ (dot) followed by the precision.

In this case, you can use it with a value of 2 to get what you want:

>>> ["%.2d" % i for i in range(16)]
['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12',
 '13', '14', '15']

You could also use the zfill function:

>>> str(3).zfill(2)
'03'

or the string format function:

>>> "{0:02d}".format(3)
'03'
User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement