Python: set を要素に持つ set を書く
普通に書くと、unhashable type (ハッシュ化できないデータ型) だと怒られる。
>>> {set(), {1}, {1, 2}} Traceback (most recent call last): File "", line 1, in TypeError: unhashable type: 'set'
内側の set(集合) に frozenset を使えばよい。
>>> {frozenset(), frozenset({1}), frozenset({1, 2})} {frozenset({1, 2}), frozenset(), frozenset({1})}
fronzenset はイミュータブルなので、後から変更を加えることはできない。
>>> s = frozenset() >>> s.add(1) Traceback (most recent call last): File "", line 1, in AttributeError: 'frozenset' object has no attribute 'add'
0 件のコメント:
コメントを投稿