为了在 python 中获得一个空集,我使用{}它并且它可以工作。
我需要将空集用作集合中的元素。
但是也会{{}}产生错误{set()}。
有办法吗?
集合的内容(和字典的键)只能是不可变的值。这意味着它们的内容不能改变。如果你使用的是一个常规的set,它的内容可以被改变,例如,.add和.remove方法,所以不可能把它放在另一个集合中。
相反,您需要使用frozenset. 它的行为与 aset相同,只是在创建后不能更改其内容。
print frozenset([ frozenset() ]) == frozenset([ frozenset() ]) # True
{}做一个空的字典。您不能在 dicts 中包含无钥匙项目。您不能在集合内创建集合,因为它们是不可散列的。