我必须在字符串中找到一个特定的子字符串,并在字符串中找到它的位置。这很容易但我不必在python中使用任何内置函数或方法。如果有人能提供帮助我真的很感激。感谢
string="ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGGCCACGGCCACCGCTGCCCTGCCCCTGGAGGGTGGCCCCACCGGCCGAGACAGCGAGCATATGCAGGAAGCGGCAGGAATAAGGAAAAGCAGCCTCCTGACTTTCCTCGCTTGGTGGTTTGAGTGGACCTCCCAGGCCAGTGCCGGGCCCCTCATAGGAGAGGAAGCTCGGGAGGTGGCCAGGCGGCAGGAAGGCGCACCCCCCCAGCAATCCGCGCGCCGGGACAGAATGCCCTGCAGGAACTTCTTCTGGAAGACCTTCTCCTCCTGCAAATAAAACCTCACCCATGAATGCTCACGCAAGTTTAATTACAGACCTGAA"
子串= 'TTG'
答案 0 :(得分:1)
如果您不想使用任何内置函数,此代码将起作用。
man = "ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGGCCACGGCCACCGCTGCCCTGCCCC$
check = "TTG"
for i in range (0, len(man)):
if man[i]==check[0]:
sum =0
for j in range(0, len(check)):
if man[i+j] != check[j]:
break
sum = 0
else:
sum = sum +1
if sum == len(check):
print i
答案 1 :(得分:0)
没有任何内置函数很难实现这一点,因为您需要.npmignore
或len
来迭代当前索引的知识。
尽管,这是仅使用enumerate
的实现。
len
如果您真的根本不需要内置,可以使用以下技巧。
def find(s, sub):
idx = 0
while idx < len(s):
if s[i:len(sub)] == sub:
return idx
return -1
这当然有点作弊,因为迭代和切片对您的作用远不如许多内置函数。
答案 2 :(得分:-1)
如果您只想要字符串中的子字符串,可以使用:
str[12:15]
另一个例子:
a = '1234567890'
then
>>> a[-3:-1]
'89'
>>> a[-3:]
'890'
>>> a[-2]
'9'
>>> a[5]
'6'