【发布时间】:2014-07-12 02:42:13
【问题描述】:
如何在 Python 中不使用 str.find() 找到子字符串在字符串中的位置?我应该如何循环它?
def find substring(string,substring):
for i in xrange(len(string)):
if string[i]==substring[0]:
print i
else: print false
例如,当string = "ATACGTG" 和substring = "ACGT" 时,它应该返回2。我想了解str.find() 的工作原理
【问题讨论】:
-
我的解决方案如何为您服务?
-
index 和 find 基本一样。我想在不使用任何内置函数的情况下解决问题。我的想法是:如果子字符串在字符串中,则在 string[i]=substring[0] 处找到 i 并返回 i。我对python不熟悉
-
您使用的是内置函数 xrange 和 len,您的意思是没有字符串方法吗?
-
构建自己的
find函数将不可避免地慢得多,因为许多Python 的内置函数都针对速度进行了优化和/或用C 编写。创建自己的函数的原因是什么?您似乎正在搜索速度可能至关重要的基因组数据。 -
查看这个问题了解
find在Python中的实际工作原理stackoverflow.com/questions/681649/…
标签: python string find substring