【发布时间】:2011-03-10 06:53:38
【问题描述】:
我们如何使用python生成一个四位数的计数器?
range(0,9999)
将有 1 位数字、2 位数字和 3 位数字。我们只需要 4 位数字。
即0000 到 9999
当然,最简单的 Pythonic 方式。
【问题讨论】:
-
您的
range()调用实际上并没有产生 9999,而是在 9998 处停止。这是因为range()的“end”参数小于限制,如“生成所有数字”从 0 开始并小于 9999"。您需要改为使用 10000。 -
如果你选择字符串格式化,please preferstr.format(*args, **kwargs) 到 %formatting.
["{0:0>4}".format(i) for i in xrange(10)] -
我猜是为了便携。它是当前 (Python 3) 字符串格式化的习惯用法,它也适用于 Python >= 2.6。摘自我之前发布的页面:“这种字符串格式化方法是 Python 3.0 中的新标准,应该优先于新代码中字符串格式化操作中描述的 % 格式化。”。
-
Python 2.7+ 推荐的格式实际上是“{:0>4}”(不需要添加位置参数)。
-
@Guandalino:我认为您应该将您的评论放在答案中:您的格式字符串比当前建议的格式字符串更新。 :)