Python四位数计数器

时间:2011-03-10 06:53:39

标签: python counter

我们如何使用python生成一个四位数的计数器?

range(0,9999)

将有1位数字,2位数字和3位数字。我们只想要4位数。

即。 0000至9999

当然,最简单的Pythonic方式。

5 个答案:

答案 0 :(得分:15)

将要填充的字符串格式化为0。要获得用0填充0到9999的列表:

["%04d" % x for x in range(10000)]

同样适用于5,6,7,8个零等。请注意,这将为您提供字符串列表。没有办法用零填充整数变量,所以字符串尽可能接近。

同样的格式化操作也适用于单个整数。

答案 1 :(得分:12)

也许str.zfill也可以帮到你:

>>> "1".zfill(4)
'0001'

答案 2 :(得分:4)

你没有。输出或处理时格式化为4位数。

print '%04d' % val

答案 3 :(得分:1)

如果您想选择字符串格式,正如许多建议的那样,并且您使用的Python不低于2.6,请注意在其最新版本中使用字符串格式。而不是:

["%04d" % idx for idx in xrange(10000)]

it is suggested选择:

["{0:0>4}".format(i) for i in xrange(1000)]

这是因为后一种方式在Python 3中用作格式化字符串的默认习惯用法,我想最好将代码可移植性提升到未来的Python版本。

正如有人在评论中所说,在Python 2.7+中没有必要指定位置参数,所以这也是有效的:

["{:0>4}".format(i) for i in xrange(1000)]

答案 4 :(得分:0)

真的过火了,

In [8]: class Int(int):
   ...:     def __repr__(self):
   ...:         return self.__str__().zfill(4)
   ...:     
   ...:     

In [9]: a = Int(5)

In [10]: a
Out[10]: 0005