Joh*_*her 3 python set frozenset
假设我生成了一个frozenset
A = frozenset(frozenset([element]) for element in [1,2,3])
Run Code Online (Sandbox Code Playgroud)
我有空集
E = frozenset(frozenset())
Run Code Online (Sandbox Code Playgroud)
现在我想要两个集合的并集:
U = A | E
Run Code Online (Sandbox Code Playgroud)
这给了我
frozenset({frozenset({2}), frozenset({3}), frozenset({1})})
Run Code Online (Sandbox Code Playgroud)
这假设,包含空的frozenset 的frozenset 本身是空的。但是,我想拥有
frozenset({frozenset({}), frozenset({2}), frozenset({3}), frozenset({1})})
Run Code Online (Sandbox Code Playgroud)
所以,我想将空集显式添加到集合中。例如,在我看来,在构建幂集时这是必要的吗?
那么:一个只包含空集本身的集合族是空的吗?在 Python 中,有没有一种方法可以使用变量类型set和frozenset?
E 是一个空集,没有元素:
>>> frozenset(frozenset())
frozenset()
Run Code Online (Sandbox Code Playgroud)
那是因为 to 的参数fronenset()是要添加的值的迭代。frozenset()是一个空的可迭代对象,因此没有添加任何内容。
如果你期望E是一个包含一个元素的集合,你需要传入一个包含一个元素的迭代器;使用{...}集合表示法,或单个元素元组(...,),或列表[...]:
>>> frozenset({frozenset()}) # pass in a set() with one element.
frozenset({frozenset()})
Run Code Online (Sandbox Code Playgroud)
现在你得到了预期的输出:
>>> A = frozenset(frozenset([element]) for element in [1,2,3])
>>> E = frozenset({frozenset()})
>>> A | E
frozenset({frozenset({3}), frozenset({2}), frozenset({1}), frozenset()})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |