Добавление Frozenset к множеству других Frozenset - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь добавить frozenset к уже существующему набору frozenset, однако, когда я пытаюсь использовать функцию add (), чтобы добавить его, возвращается None. Я попытался использовать функцию update (), но безрезультатно. Я вынужден использовать frozensets, потому что мне нужен набор наборов, и это кажется единственным решением в Python. Литерал - это просто список одного элемента типа String.

    print(literal)
    print(clauses)
    clauses = clauses.add(frozenset(literal))
    print(clauses)

Вывод выглядит так:

['!y']
{frozenset({'!y', 'z', 'x'})}
None

1 Ответ

2 голосов
/ 13 марта 2020

Общее правило (https://docs.python.org/3/library/stdtypes.html)

Методы, которые складывают, вычитают или переставляют свои элементы на месте и не возвращают указанный c item, никогда не возвращайте сам экземпляр коллекции, но None.

Вот почему:

clauses = clauses.add(frozenset(literal))

означает:

clauses.add(frozenset(literal))
clauses = None
...