python字符串重复_我如何知道一个字符串是否在Python中重复?

我正在寻找一种方法来测试一个给定的字符串是否重复整个字符串或不是。

例子:

[

'0045662100456621004566210045662100456621', # '00456621'

'0072992700729927007299270072992700729927', # '00729927'

'001443001443001443001443001443001443001443', # '001443'

'037037037037037037037037037037037037037037037', # '037'

'047619047619047619047619047619047619047619', # '047619'

'002457002457002457002457002457002457002457', # '002457'

'001221001221001221001221001221001221001221', # '001221'

'001230012300123001230012300123001230012300123', # '00123'

'0013947001394700139470013947001394700139470013947', # '0013947'

'001001001001001001001001001001001001001001001001001', # '001'

'001406469760900140646976090014064697609', # '0014064697609'

]

是重复自己的字符串

[

'004608294930875576036866359447',

'00469483568075117370892018779342723',

'004739336492890995260663507109',

'001508295625942684766214177978883861236802413273',

'007518796992481203',

'0071942446043165467625899280575539568345323741',

'0434782608695652173913',

'0344827586206896551724137931',

'002481389578163771712158808933',

'002932551319648093841642228739',

'0035587188612099644128113879',

'003484320557491289198606271777',

'00115074798619102416570771',

]

是没有的例子。

我给出的字符串的重复部分可以很长,字符串本身可以是500或更多的字符,所以循环通过每个字符试图建立一个模式,然后检查模式vs字符串的其余部分似乎很可怕的慢。乘以可能数百个字符串,我看不到任何直观的解决方案。

我已经研究了正则表达式,他们似乎很好,当你知道你在寻找什么,或至少你想要的模式的长度。不幸的是,我也不知道。

我如何知道一个字符串是否重复本身,如果它是,最短的重复子序列是什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值