Это можно сделать еще проще (речь идет о генетическом кодировании ДНК?):
evenList = ['GAAGCTCG', 'AAATTT', 'CTCTAGGAC']
oddList = ['CCTCGGGA', 'GGGCCC', 'GAGTACCTG']
def matchList(evenList, oddList):
totalIndexSeq = []
match_list = [('A','T'), ('T','A') ,('G','C'), ('C','G')]
pairedList=zip(evenList.upper(),oddList.upper()) # tuples from evenList and oddList elements
for p in pairedList:
pairs=zip(list(p[0]),list(p[1])) # tuples of even and odd list characters
indexSeq=[ str(i) if p in match_list else '+' for i,p in enumerate(pairs)]
totalIndexSeq.append(''.join(indexSeq)) #convert to string and add to list
return totalIndexSeq
у вас нет ограничений на длину списка (на самом деле вы не использовали integ
в вашем коде также).Теперь вы должны сказать мне, какую часть вы хотите быть рекурсивной?Обычно я рекомендую не использовать рекурсию из-за высокого использования ресурсов.