複数の集合の交差を見つける最良の方法は? 質問する

複数の集合の交差を見つける最良の方法は? 質問する

セットのリストがあります:

setlist = [s1,s2,s3...]

s1 ∩ s2 ∩ s3 が欲しいです...

s1.intersection(s2)一連のペアワイズなどを実行することで、それを実行する関数を作成できます。

推奨される方法、より良い方法、または組み込みの方法はありますか?

ベストアンサー1

Pythonバージョン2.6以降では、複数の引数を使用してset.intersection()、 のように

u = set.intersection(s1, s2, s3)

セットがリスト内にある場合、これは次のように変換されます。

u = set.intersection(*setlist)

どこ*a_listですかリストの拡張

これは静的メソッドset.intersectionではありませんが、関数表記を使用して最初のセットとリストの残りの部分の積を適用します。したがって、引数リストが空の場合、これは失敗します。

おすすめ記事