How do I get an integer to fill 0's to a fixed width in python 3.2 using the format attribute? Example:
a = 1 print('{0:3}'.format(a))
gives ' 1' instead of '001' I want. In python 2.x, I know that this can be done using
print "%03d" % number.
I checked the python 3 string documentation but wasn't able to get this.
http://docs.python.org/release/3.2/library/string.html#format-specification-mini-language
Thanks.
They are used for formatting strings. %s acts a placeholder for a string while %d acts as a placeholder for a number.
Show activity on this post. def splitter(str): for i in range(1, len(str)): start = str[0:i] end = str[i:] yield (start, end) for split in splitter(end): result = [start] result. extend(split) yield result el =[]; string = "abcd" for b in splitter("abcd"): el.
String ljust() Parametersljust() method takes two parameters: width - width of the given string. If width is less than or equal to the length of the string, the original string is returned. fillchar (Optional) - character to fill the remaining space of the width.
Prefix the width with a 0
:
>>> '{0:03}'.format(1) '001'
Also, you don't need the place-marker in recent versions of Python (not sure which, but at least 2.7 and 3.1):
>>> '{:03}'.format(1) '001'
Better:
number=12 print(f'number is equal to {number:03d}')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With