コース: Python:データ構造

セットのメソッドを使う - Pythonのチュートリアル

コース: Python:データ構造

セットのメソッドを使う

セットの集合操作のメソッドを 見ていきましょう。 集合演算を使って 集合から集合を取得することができます。 union メソッドは、 和集合を取得します。 2つの集合の足し算ですね。 difference メソッドは 差集合を取得します。 ある集合にあって、 別の集合にないものを取得します。 intersection メソッドは 積集合です。 両方の集合にあるものを取得します。 symmetric_difference メソッドは排他的論理和集合です。 両方の集合に共通しないものを取得します。 プログラムで見ていきましょう。 set_01 には 「1001,1002,1005, 1006,1007」と 5つの数字を宣言しました。 set_02 には 「1003,1004,1005, 1007, 1008」と 同様に5つの数字を宣言しました。 一部重複するものがあります。 まず、set_01 の union メソッドで set_02 を引数にして、 和集合を取得します。 プログラムを実行して見てみましょう。 両方の集合から 重複のない和集合が取得できています。 これが union メソッドです。 次に difference メソッドを 実行してみます。 set_01 の difference メソッドで、 引数に set_02 を指定しています。 ですから、差集合として取得できたものは 「1001,1002,1006」です。 これは set_02 にはないものを 取得できたわけです。 次の intersection メソッドが 積集合です。 set_01 の intersection メソッドで 引数に set_02 を指定しています。 積集合はお互いにあるものです。 「1005,1007」が 取得できています。 排他的論理和集合は、 symmetric_difference メソッドで取得することができます。 排他的論理和は この2つの集合に共通しないものを 取得します。 お互いに存在する「1005」は 除かれているわけです。 このように セットの集合演算メソッドを使うと 2つの集合から 目的のデータを集合として 取得することができます。

目次