我目前正在寻找具有特定位数的数字列表,我的代码目前如下:
| Python 2.7 |
import itertools
inp = raw_input('Number of digits to write?:')
inp = int(inp)
inp2 = raw_input('File name?:')
inp2 = inp2 + '.txt'
variants = ["".join(item) for item in itertools.product("0123456789", repeat=inp)]
variant = open(inp2, 'w')
for number in variants:
variant.write("%s\n" % number)
如您所见,我正在尝试生成多个不同的文件,并为每个新数字逐行放置输出。
我知道该列表可能有问题,因为它将所有可能的数字存储在该列表中的内存中。我的问题是:由于数字超过 7,存在内存问题,我将如何减少所需的内存或将多个文件放在一起以生成具有相同类型数据的列表。
如果不使用这个特定的 itertools 实现,for 循环是否可以在本质上将两个列表“附加”在一起(比如 4 位文件和 5 位文件以创建一个 9 位文件)?
也许某种递归?(我仍然不明白如何编写递归函数等。在一般编程方面,我是个菜鸟)