Разница между двумя списками с дубликатами в Python

У меня есть два списка, которые содержат много одинаковых предметов, включая дубликаты. Я хочу проверить, какие элементы в первом списке не во втором списке. Например, у меня мог бы быть один список как это:

l1 = ['a', 'b', 'c', 'b', 'c']

и один список, как это:

l2 = ['a', 'b', 'c', 'b']

Сравнивая эти два списка, я бы хотел вернуть третий список, например так:

l3 = ['c']

В настоящее время я использую какой-то ужасный код, который я сделал некоторое время назад, и я уверен, что он даже не работает должным образом, как показано ниже.

def list_difference(l1,l2):
    for i in range(0, len(l1)):
        for j in range(0, len(l2)):
            if l1[i] == l1[j]:
                l1[i] = 'damn'
                l2[j] = 'damn'
    l3 = []
    for item in l1:
        if item!='damn':
            l3.append(item)
    return l3

Как я могу лучше выполнить эту задачу?

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

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