職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

Python--集合--5(集合同時の関係)

2020年12月22日 | Python
集合と他の集合との関係を調べる(等しいかどうか、部分集合かどうかなど)

【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと

【集合が他の集合と等しいかどうか(==,!=)】
集合が他の集合と等しいかどうかについては比較演算子の == で可能。また等しくないかどうかは比較演算子の != で可能。
・例
集合1 == 集合2
集合1 != 集合2

サンプルコード
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> set1 = {"A", "B", "C"}
>>> set2 = {"B", "C", "A"}
>>> print(set1 == set2)
True
>>>
等しいかどうかの比較は set 型のオブジェクトと frozenset 型のオブジェクトでも可能です。
>>> set1 = {"A", "B", "C"}
>>> set2 = frozenset(["B", "A", "C"])
>>> print(set1 == set2)
True
>>>

【集合が他の集合の部分集合かどうか(<=)】
集合が他の集合の部分集合であるかどうかは比較演算子の <= で可能
集合1 <= 集合2

サンプルコード
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> set1 = {"A", "B"}
>>> set2 = {"B", "D", "C", "A"}
>>> set3 = {"B", "A"}
>>> print(set1 <= set2)
True
>>> print(set2 <= set1)
False
>>> print(set1 <= set3)
True
>>>

set 型や frozenset 型で用意されている issuperset メソッドでも可
書式
集合1.issuperset(集合2)
サンプルコード
>>> print(set1.issuperset(set2))
False
>>> print(set2.issuperset(set1))
True
>>> print(set1.issuperset(set3))
True
>>> print(set3.issuperset(set1))
True
>>>
【集合が他の集合の真超集合かどうか(>)】
集合が他の集合の真超集合であるかどうかは比較演算子>で可能
集合1 > 集合2

サンプルコード
>>> set1 = {"A", "B"}
>>> set2 = {"B", "D", "C", "A"}
>>> set3 = {"B", "A"}
>>> print(set1 > set2)
False
>>> print(set2 > set1)
True
>>> print(set1 > set3)
False
>>>

【集合が他の集合と互いに素かどうか】
isdisjoint メソッドで調べることも出来る。
・集合1.isdisjoint(集合2)

サンプルコード
>>> set1 = {"A", "B"}
>>> set2 = {"B", "D", "C", "A"}
>>> set3 = {"B", "A"}

>>> print(set1.isdisjoint(set2))
False
>>> print(set1.isdisjoint(set3))
False
>>> print(set2.isdisjoint(set3))
False
>>>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする