Почему замороженные мультимножества в Python не учитывают повторяющиеся элементы?Python

Программы на Python
Anonymous
Почему замороженные мультимножества в Python не учитывают повторяющиеся элементы?

Сообщение Anonymous »

Я работаю с деревьями выражений, которые эквивалентны друг другу с точки зрения коммутативности. Чтобы добиться этой эквивалентности, я подумал, что буду использовать замороженные мультимножества для хранения операндов, поскольку они хешируются (в отличие от диктовок), неупорядочены (в отличие от кортежей) и допускают повторяющиеся элементы (в отличие от наборов).
Но замороженные мультимножества, похоже, работают не так, как я себе представлял. Они рассматривают повторяющиеся элементы как один элемент.

Код: Выделить всё

>>> from multiset import FrozenMultiset as fms
>>> fms({3, 3})
{3}
>>> fms({3, 3}) == fms({3})
True
Я что-то упустил?
Или предложите альтернативы, которые соответствуют моей цели.

Подробнее здесь: https://stackoverflow.com/questions/735 ... d-elements

Вернуться в «Python»