gpt4 book ai didi

python len 函数问题

转载 作者:行者123 更新时间:2023-12-01 06:11:29 28 4
gpt4 key购买 nike

我是一个十足的Python菜鸟,所以请原谅我的简单问题。我正在尝试编写一个脚本,该脚本将查找一个巨大字符串中与 ATxxxCA、ATxxxxCA、ATxxxxxCA 或 ATxxxxxxCA 匹配的所有序列,其中 x 可以是任何字符。当 ATxxxCA 模式匹配时,我希望脚本捕获匹配的 ATxxxCA 周围的前 10 个和后 10 个字符。例如,结果可能如下所示:aaaaaaaaaaATxxxCAbbbbbbbbbb

我尝试像这样启动脚本:

SeqMatch = input("enter DNA sequence to search: ")
for s in re.findall(r'AT(.*?)CA', SeqMatch):
if len(s) is < 10:
print(s)
else:
print('no sequence matches')

我的 if 循环似乎做错了什么?有人可以帮忙吗?提前致谢!

最佳答案

注意重叠:

import re

adn = ('TCGCGCCCCCCCCCCATCAAGACATGGTTTTTTTTTTATTTATCAGATTACAGATACA'
'GTTATGGGGGGGGGGATATACAGATGCATAGCGATTAGCCTAGCTA')


regx = re.compile('(.{10})(AT.{3,6}CA)(.{10})')
res = regx.findall(adn)
for u in res:
print u

print

pat = re.compile('(.{10})(AT.{3,6}CA)')
li = []
for mat in pat.finditer(adn):
x = mat.end()
li.append(mat.groups()+(adn[x:x+10],))
for u in li:
print u

结果

('CCCCCCCCCC', 'ATCAAGACA', 'TGGTTTTTTT')
('GGGGGGGGGG', 'ATATACA', 'GATGCATAGC')

('CCCCCCCCCC', 'ATCAAGACA', 'TGGTTTTTTT')
('TTTTTTTTTT', 'ATTTATCA', 'GATTACAGAT')
('GGGGGGGGGG', 'ATATACA', 'GATGCATAGC')

关于python len 函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5682775/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com