我正在尝试生成给定字符串中所有重叠n长度子串的列表.
例如,对于6的n和字符串“hereismystring”,我将生成列表[“hereis”,“ereism”,“reismy”,…,“string”].我正在使用的琐碎代码现在看起来像这样:
n = 6 l = len(string) substrings = [string[i:(i + n)] for i in xrange(l - n + 1)]
很容易.问题是,我想加快速度(我有很多非常长的字符串). Python中有更快的技术吗?考虑到Python的字符串例程无论如何都会在C中下载到Cython帮助吗?
作为参考,这种技术在我的机器上需要大约100us(一个新的Macbook Pro),对于500长度的字符串和n为30.
我在这里先向您的帮助表示感谢!