所以说我有
我想将它打印成字符串
a = 5
我想将它打印成字符串
'05'
。f"{a:02}"
这个语法与下面的.format格式相当,但更加简洁。
Python 3在3.6之前更喜欢使用稍微冗长的格式化系统:
"{0:0=2d}".format(a)
print "%02d"%a
是Python 2的变体。
Python 2的相关文档链接为: http://docs.python.org/2/library/string.html#format-specification-mini-language
"{:02d}".format(a)
也可以运行!如果您想要4位数,只需将2替换为4即可"{:04d}".format(a)
。这适用于Python3。 - nishanta = 5
print '%02d' % a
# output: 05
当左侧是字符串时,'%'运算符被称为字符串格式化运算符。'%d'
是格式化代码,用于打印整数(如果值不是数字,则会出现类型错误)。使用'%2d'
可以指定长度,使用'%02d'
可以将填充字符设置为0,而不是默认的空格。
>>> f'{a:02d}'
'05'
>>> a=["%02d" % x for x in range(24)]
>>> a
['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
>>>
这很简单
print("%02d" % a)
根据@user225312所说,您可以使用.zfill()将转换为字符串的数字添加填充。
我的方法是在需要将其转换为字符串的时候才将数字保留为数字:
>>> num = 11
>>> padding = 3
>>> print(str(num).zfill(padding))
011
df["col_name"].str.rjust(4,'0')#(length of string,'value') --> ValueXXX --> 0XXX
df["col_name"].str.ljust(4,'0')#(length of string,'value') --> XXXValue --> XXX0
str_years = [x for x in range(24)]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
#Or, if you're starting with ints:
int_years = [int(x) for x in str_years]
#Formatted here
form_years = ["%02d" % x for x in int_years]
print(form_years)
#['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
如果你是一位分析师而不是全栈工程师,这可能更加直观:
[(str('00000') + str(i))[-5:] for i in arange(100)]
将其分解,您需要:
首先创建一个重复0或X的列表,这里是100个长度,即arange(100)
将您想要的数字添加到字符串中,这里是数字0-99,即“i”
仅保留右侧5位数字,即用于子集的“[-5:]”
输出是带有5位数字的编号列表