生成3位数字

Sto*_*rux 7 python integer python-2.7

我想按顺序生成从000到120的数字.我知道你可以通过循环生成0到120之间的数字.但我希望所有数字都有3位数.

输出应该是

000
001
002 
...
...
120
Run Code Online (Sandbox Code Playgroud)

代替

0
1
2
...
...
120
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法在Python实现这一目标,或者我应该做被单独代码0-9 10-99和100-120?

msh*_*yem 24

["{0:03}".format(i) for i in range(121)]
Run Code Online (Sandbox Code Playgroud)

要么

["%03d" % i for i in range(121)]
Run Code Online (Sandbox Code Playgroud)

打印:

print "\n".join(<either of the above expressions>)
Run Code Online (Sandbox Code Playgroud)

Python 3.6+中更简洁:

[f"{i:03}" for i in range(121)]
Run Code Online (Sandbox Code Playgroud)

  • {:: 03}适用于format()函数。f字符串更紧凑。请在这里查看:https://realpython.com/python-f-strings/ (3认同)