如何从 0000 循环到 9999 并将数字转换为相关字符串?

新手上路,请多包涵

我想得到一些字符串,范围从 0000 到 9999,也就是说,我想打印以下字符串:

 0000
0001
0002
0003
0004
0005
0006
....
9999

我尝试使用 print "\n".join([str(num) for num in range(0, 9999)]) ,但失败了,我得到以下号码:

 0
1
2
3
4
5
6
...
9999

我希望 python 自动添加前缀 0 ,使数字始终保持 4 位数字。谁能帮帮我?任何帮助表示赞赏。

原文由 Searene 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

获得所需内容的一种方法是使用字符串格式:

 >>> for i in range(10):
...     '{0:04}'.format(i)
...
'0000'
'0001'
'0002'
'0003'
'0004'
'0005'
'0006'
'0007'
'0008'
'0009'

所以要做你想做的,这样做:

 print("\n".join(['{0:04}'.format(num) for num in range(0, 10000)]))

原文由 senderle 发布,翻译遵循 CC BY-SA 4.0 许可协议

http://docs.python.org/library/stdtypes.html#str.zfill

返回在长度宽度的字符串中用零填充的数字字符串。正确处理符号前缀。如果 width 小于或等于 len(s),则返回原始字符串。

例如:

 >>> for i in range(10):
...   print('{:d}'.format(i).zfill(4))
...
0000
0001
0002
0003
0004
0005
0006
0007
0008
0009

原文由 mechanical_meat 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题