1

为了在 python 中获得一个空集,我使用{}它并且它可以工作。

我需要将空集用作集合中的元素。

但是也会{{}}产生错误{set()}

有办法吗?

4

2 回答 2

7

集合的内容(和字典的键)只能是不可变的值。这意味着它们的内容不能改变。如果你使用的是一个常规的set,它的内容可以被改变,例如,.add.remove方法,所以不可能把它放在另一个集合中。

相反,您需要使用frozenset. 它的行为与 aset相同,只是在创建后不能更改其内容。

print frozenset([ frozenset() ]) == frozenset([ frozenset() ]) # True
于 2012-08-19T02:09:51.317 回答
1

{}做一个空的字典。您不能在 dicts 中包含无钥匙项目。您不能在集合内创建集合,因为它们是不可散列的。

于 2012-08-19T02:10:28.337 回答