如何在子字符串后捕获一定数量的字符?

2024-05-20 14:38:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个非常新的编码和需要帮助的最后一个问题的任务,让我难堪。我也不能用正则表达式来完成这个任务。你知道吗

我得到了这个字符串,并且我做了它,所以我在'cat'发生后分割字符串。你知道吗

astr = 'accaggcatgattgcccgattccatgcggtcag'
x = astr.split('cat',1)[-1]
print(x)
gattgcccgattccatgcggtcag
y = astr.split('cat',2)[-1]
print(y)
gcggtcag

但是,如果我只想要字符串中每个'cat'后面的三个字母,我该怎么办?例如,我想得到'gat''gcg'。你知道吗

非常感谢您的帮助!你知道吗


Tags: 字符串编码字母catsplitprintgatastr
2条回答

您还可以一次完成所有任务:

[x[:3] for x in astr.split('cat')[1:]]

输出:

['gat', 'gcg']

使用切片,如[: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:])))

相关问题 更多 >