您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何判断字符串是否在Python中重复出现?

如何判断字符串是否在Python中重复出现?

这是一个简洁的解决方案,它避免了正则表达式和缓慢的Python内循环:

def principal_period(s):
    i = (s+s).find(s, 1, -1)
    return None if i == -1 else s[:i]

David Zhang的解决方案无疑是赢家,对于大型示例集,其性能至少比其他同类产品高出5倍。

(那个答案的话,不是我的。)

这是基于这样的观察,即且仅当字符串等于其自身的非平凡旋转时,它才是周期性的。感谢@AleksiTorhamo,他意识到我们可以从sin的第一次出现的索引中恢复本金周期(s+s)[1:-1],并向我通知Python的可选参数startend参数string.find

python 2022/1/1 18:30:05 有406人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶