Python - пересекающиеся строки

Попытка написать функцию for, которая принимает две строки и возвращает символы, которые пересекаются в том порядке, в котором они появляются в первой строке.

Вот что я попробовал:

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'

однако я хочу, чтобы символы пересечения появлялись только один раз и в порядке первой строки, т.е. 'ASD'

Кто-нибудь может помочь?

Я обнаружил некоторые похожие проблемы на других форумах, но все решения, кажется, включают списки, тогда как я хотел бы, чтобы мой вывод был строкой

Ответы на вопрос(6)

Ваш ответ на вопрос