如何生成最多6位数的特定字符串值集?

时间:2018-03-24 14:06:52

标签: python

我正在使用Python 3中的一个项目,我需要创建一个不添加数字的序列。数字应该是保存在集合中的字符串,因为它比列表快,并且它们都是唯一的值。

即,我需要类似的东西:

输出

000001
000002
000003
...
000010
000011
...
000100
//and so on

代码

def build_sequence():
    seq = set()
    // logic here
    return seq

我不知道如何解决这个问题。如果有人能让我朝着正确的方向前进,那就太棒了。

2 个答案:

答案 0 :(得分:0)

您的问题有点模糊,但据我所知,您希望从000000999999生成一个函数。

def build_sequence():
    for i in range(1000000):
        yield "%.6d" % i

然后,您可以使用

遍历每个字符串
for i in build_sequence():
    print(i)

其中i是字符串

答案 1 :(得分:0)

有几种方法可以做到这一点。

但第一个是获得所需序列的下限和上限,从假设0到100的问题。一个简单的for循环应该可以做到这一点

for i in range(1,100):
    print(i)

这应该打印1到100

  

1 2 3 .... 100

但我们想要一个序列,有很多pythonic方法, 一个简单的格式是

format(1, "06") 
'000001' 

把它放在循环中。

在python 3.6中,我们有f-strings

temp_var = 19
f'{temp_var:06}'

还有很多其他方法,google和python docs是一个很好的开始