Python では 2 つの set
インスタンス同士で &
演算を行うと、両方のセットに含まれる要素を抽出することができます(積集合)。
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
print(s1 & s2) #=> {3, 4}
リストやタプルにはこのような演算子は実装されていないため、リストやタプル同士でこういった演算を行うには、一度 set
オブジェクトに変換する必要があります。
l1 = [1, 2, 3, 4]
l2 = [3, 4, 5, 6]
s1 = set(l1)
s2 = set(l2)
print(s1 & s2) #=> {3, 4}
重複要素があるかのチェックだけを行いたい場合は、&
演算の結果求められたセットを条件式として評価すれば OK です(Python では空のセットを偽、それ以外のセットを真として扱います)。
if s1 & s2:
print("重複要素があります")