我对编码非常陌生,在我遇到的一项作业的最后一个问题上需要帮助。我也不能使用正则表达式进行此分配。
我已经有了这个字符串,并且已经制作好了,所以我在'cat'
出现后分割了字符串。
astr = 'accaggcatgattgcccgattccatgcggtcag'
x = astr.split('cat',1)[-1]
print(x)
gattgcccgattccatgcggtcag
y = astr.split('cat',2)[-1]
print(y)
gcggtcag
但是,如果我只想要字符串中每个'cat'
之后的三个字母,该怎么办?例如,我想获取'gat'
和'gcg'
。
任何帮助将不胜感激!
答案 0 :(得分:3)
使用切片,例如[:3]
:
astr = 'accaggcatgattgcccgattccatgcggtcag'
x = astr.split('cat',1)[-1][:3]
print(x)
y = astr.split('cat',2)[-1][:3]
print(y)
输出:
gat
gcg
另外,另一个想法可能是:
print(list(map(lambda x: x[:3],astr.split('cat')[1:])))
答案 1 :(得分:1)
您也可以一次性获得所有这些信息:
df
输出:
[x[:3] for x in astr.split('cat')[1:]]