生成一系列数字作为字符串Python

时间:2017-11-03 10:43:15

标签: python loops

我需要使用结构化文件名循环遍历许多文件。

它们的形式为'Mar00.sav','Sep00.sav','Mar01.sav'

目前我这样做;

Years = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17']

哪个有效,但我想知道是否有更好的方法?

我尝试了范围,但str(range(00,17))会删除前导零......

3 个答案:

答案 0 :(得分:8)

我遇到了同样的问题,并且有一个完美的解决方案 - zfill方法

使用示例:

>>> str('1').zfill(7)
'0000001'

您需要做的是为N个数字创建一个生成器并用零填充其字符串表示。

>>> for i in range(1, 18):
...     str(i).zfill(2)
...
'01'
'02'
'03'
...
'16'
'17'

答案 1 :(得分:1)

>>> [str(i).zfill(2) for i in range(1,18)]
['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17']

答案 2 :(得分:0)

在python 2.7中,你可以像这样实现它

FP2xttTh/wm5Kr45Vh/PEvsdxgfL3NgxxMMk9hTkPfJd7vSJXTlhjiZlQajnBcMAVknANpv5FNCMRD+epDSOA2epKOzstSmhC0il2TlwgKqaT+97zomCMUCIfdaJYnLz5gBth1MIpxO30bx9zPg8cbOJcLnMmCo3vtSDCalgjHICf5FevI7DgrWnWC1U4wab0rx/rWhGFJ0sOW1ImDi9DkCy+guQZIrojbZxRlvGzv1mU/avP5hbKgWIheJpYQvvM12RyCNuVxjHK/oZ1mCQLVjvpED291lxsGTNHPUrc2NI7LCj/xOztjgsukpBP9K1nsUIgEyfVFUfTf5sh4QPccZnJ1bzKqPD

如果你想打印

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