我的代码的目的是列出所有可能的4位数字(0000-9999),它很容易。
i = 0
gen = []
while i <= 9999:
gen.append(i)
i = i + 1
for cycle in gen:
format(cycle, '04')
但是,它会在自己的行上打印每个数字,我希望它以一个大字符串打印。所以我的问题是如何加入我的整数列表,以便打印成一个大字符串?我在Windows上运行Python 3.3。
答案 0 :(得分:5)
所以,有一个函数range
,它为你构建一个生成器;例如:range(0,10000)
将从0开始生成10,000个整数(包括0到9999)。
注意range对象不是列表,它是一个生成列表的函数。你可以这样做:
list(range(0,10000))
这会让你感觉像是
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 9999]
您可以使用列表推导来格式化列表中的每个条目:
[format(x, '04') for x in range(0,10000)]
它为您提供了一个字符串列表,如:
['0000', '0001', '0002', '0003', '0004', ...
然后,为了将字符串列表连接在一起,有一个名为join
的函数。你想把空字符串放在每个数字之间,所以你这样称呼它:
"".join([format(x, '04') for x in range(0,10000)])
你得到你的输出:
00000001000200030004000500060007 ... 9999