我正在使用Python 3中的一个项目,我需要创建一个不添加数字的序列。数字应该是保存在集合中的字符串,因为它比列表快,并且它们都是唯一的值。
即,我需要类似的东西:
000001
000002
000003
...
000010
000011
...
000100
//and so on
def build_sequence():
seq = set()
// logic here
return seq
我不知道如何解决这个问题。如果有人能让我朝着正确的方向前进,那就太棒了。
答案 0 :(得分:0)
您的问题有点模糊,但据我所知,您希望从000000
到999999
生成一个函数。
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是一个很好的开始