for i in range(9999999):
if i <= 9:
print '000',i,'000000'
elif i <= 99:
print '000',i,'00000'
elif i <= 999:
print '000',i,'0000'
elif i <= 9999:
print '000',i,'000'
elif i <= 99999:
print '000',i,'00'
elif i <= 999999:
print '000',i,'0'
elif i <= 9999999:
print '000',i
我想将所有输出保存在变量类型列表中 输出如下:000 000 0000
答案 0 :(得分:0)
下面的代码显示了一种生成字符串的简单方法,还显示了如何将它们附加到列表而不是打印它们。
lst = []
for i in range(9999999):
if 100 <= i <= 999:
prefix = "050"
else:
prefix = "000"
i_str = str(i)
suffix = "0" * (7-len(i_str))
result = prefix + " " + i_str + " " + suffix
# or result = " ".join((prefix, i_str, suffix))
lst.append(result)
答案 1 :(得分:0)
似乎每个i
小于9 999 999,你的目标是建立一个由三部分组成的字符串:
i
; i
的字符串表示的长度。您可以通过简单的列表理解来实现这一目标:
lst = ['000 %d %s'.strip() % (i, '0' * (7-len(str(i)))) for i in xrange(9999999)]
但请注意,这么大的列表需要一些时间来构建并占用一些内存。
如果您不是一次需要整个列表,但是您要逐个处理其元素,我建议您创建一个生成器:
lst_gen = ('000 %d %s'.strip() % (i, '0' * (7-len(str(i)))) for i in xrange(9999999))
然后循环遍历:
for s in lst_gen:
print s
或询问后续元素并逐一处理:
s = next(lst_gen)
print s
s = next(lst_gen)
print s