testant la correspondance exacte des chaînes de caractères dans les chaînes cibles. la sortie doit être un tuple des points de départ des correspondances. Mon code fonctionne mais j'ai l'impression qu'il peut être beaucoup plus propre. Comment est-ce que je pourrais retourner un tuple sans convertir à partir d'une liste ajoutée? cherché partout et ne peut pas sembler trouver une réponse. Merci!!Python For loop return Tuple - existe-t-il une meilleure façon de faire cela
from string import *
target1 = 'atgacatgcacaagtatgcat'
target2 = 'atgaatgcatggatgtaaatgcag'
key10 = 'a'
key11 = 'atg'
key12 = 'atgc'
key13 = 'atgca'
def subStringMatchExact(target, key):
match_list = []
location = 0
for i in target:
ans = find(target, key, location)
if ans >= 0:
match_list.append(ans)
location = ans + (len(key))
print tuple(match_list)
subStringMatchExact(target1, key11)
Tuples ne sont pas mutable, donc si vous créez à la volée , ça doit être une liste. Vous ne savez pas pourquoi vous pensez que le code est "pas propre" parce que vous devez convertir en un tuple? – Chip
Copie possible: http://stackoverflow.com/questions/4664850/find-all-occurrences-of-a-substring-in-python – Krumelur