如何在Python中使用非常长的字符串?

Ric*_*haw 5 python

我正在处理项目euler的问题220(看起来很容易,与其他一些相比 - 认为我会尝试更高编号的一个进行更改!)

到目前为止,我有:

D = "Fa"

def iterate(D,num):
    for i in range (0,num):
        D = D.replace("a","A")
        D = D.replace("b","B")
        D = D.replace("A","aRbFR")
        D = D.replace("B","LFaLb")
    return D

instructions = iterate("Fa",50)

print instructions
Run Code Online (Sandbox Code Playgroud)

现在,这适用于低值,但是当你把它重复更高时,你就会得到一个"内存错误".任何人都可以提出一种方法来克服这个问 我真的想要一个包含下一步说明的字符串/文件.

Jim*_*imB 2

Python 字符串不会是这个问题的答案。字符串存储为不可变数组,因此每一次替换都会在内存中创建一个全新的字符串。更不用说,如果将 10^12 个步骤后的指令集存储为字符(并且进行了一些较小的压缩),那么它们的大小将至少为 1TB。

理想情况下,应该有一种方法可以通过数学方式(提示,有)动态生成答案,这样您就不需要存储序列。

只需使用该字符串作为指导来确定创建路径的方法。