Python - Intersectiing chaînes

Essaie d'écrire une fonction qui prend deux chaînes de caractères et renvoie les personnages qui se croisent dans l'ordre où ils apparaissent dans la première chaîne.

Voici ce que j'ai essayé:

def strIntersection(str1, str2):
    for i in str1:
        str3 = ''
        str3 = str3.join(i for i in str1 if i in str2 not in str3)
    return str3

str1 = 'asdfasdfasfd'
str2 = 'qazwsxedc'

strIntersection(str1,str2)

=> 'asdasdasd'

cependant je ne veux le l'intersection des caractères n'apparaissent qu'une fois et dans l'ordre de la première chaîne ie. 'tsa'

Peut aider quelqu'un?

J'ai trouvé des problèmes similaires sur d'autres forums, mais les solutions semblent tous impliquent des listes alors que j'aimerais que mon la sortie de la chaîne

InformationsquelleAutor bang | 2012-03-16