Получить значения span и match из объектов SRE_Match (Python) - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь найти совпадение определенной длины (от 4 до 12) в последовательности ДНК

Ниже приведен код:

import re
positions =[]
for i in range(4,12):
    for j in range(len(dna)- i+1):
        positions.append(re.search(dna[j:j+i],comp_dna))

#Remove the 'None' from the search
position_hits = [x for x in positions if x is not None]

Я понял:

[<_sre.SRE_Match object; span=(0, 4), match='ATGC'>,.........]

Как извлечь значение из span и match? Я пытался .group (), но он выдает ошибку

AttributeError: 'list' object has no attribute 'group'

1 Ответ

0 голосов
/ 30 июня 2018

Если вы хотите исправить текущий подход, вы можете использовать

position_hits = [x.group() for x in positions if x]

Вы можете получить все совпадения непосредственно в цикле for:

import re
position_hits = []
for i in range(4,12):
    for j in range(len(dna)-i+1):
        m = re.search(dna[j:j+i],comp_dna)
        position_hits.append(m.group())
...