python - 如何在 Python 中处理非常长的字符串?

标签 python

我正在处理欧拉项目的 problem 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

现在,这适用于低值,但当您将其重复设置得更高时,您只会收到“内存错误”。任何人都可以建议一种方法来克服这个问题吗?我真的想要一个包含下一步说明的字符串/文件。

最佳答案

诀窍在于注意在每次迭代中运行字符串时会出现哪些模式。尝试为 1 到 10 之间的 n 评估 iterate(D,n),看看您是否能发现它们。还通过计算结束位置和步数的函数提供字符串,并在那里寻找模式。

然后您可以使用这些知识将算法简化为根本不使用这些字符串的东西。

关于python - 如何在 Python 中处理非常长的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/353152/

相关文章:

python - 使用 RDFLib 将包含空白节点的三元组添加到 Stardog

python - 获取顶点作为单个数组

python - 复合索引 SQLModel

python - Python 中均值和协方差的快速增量更新

python - 恢复keras seq2seq模型

python - 值错误: x and y must be the same size

python - 没有节点与其子节点具有相同的颜色 - 递归

参数大小向量的python符号求和与微分

python - 使用opencv写入后,图像中的标题信息丢失

python - 是否有实现 AWS 身份验证协议(protocol)双方的 python 库?