Почему появляется ошибка при вычитании множеств?

При вычитании множеств появляется ошибка.

fin_news = dict(set(news) - set(old_news))
ValueError: dictionary update sequence element #0 has length 55; 2 is required

Как её можно решить?
Вот код:

def sort_news(pre_news, news):
    old_news = dict(set(pre_news) - set(news))
    news = dict(news)
    fin_news = dict(set(news) - set(old_news))
    return fin_news

pre_news и news при поступлении в функцию являются списками.


Ответы (1 шт):

Автор решения: Xander
def sort_news(pre_news, news):
    pre_news = pre_news.items()
    news = set(news.items())
    old_news = set(pre_news) - set(news)
    fin_news = dict(news - old_news)
    return fin_news

UPD: Попробуйте так:

def sort_news(pre_news, news):
    pre_news = set(pre_news.items())
    news = set(news.items())
    return dict(news - pre_news)
→ Ссылка