Pythonのset関数とは
Pythonのset関数は、リストやタプルなどのイテラブル(繰り返し可能な)オブジェクトを受け取り、その中のユニーク(重複しない)要素だけからなるセット(集合)を生成します。
それでは早速、set関数の基本的な使い方を見ていきましょう。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133655-300x300.png)
set関数の基本的な使い方
ソースコード例
1 2 3 |
my_list = [1, 2, 2, 3, 4, 4, 4, 5, 5, 5] my_set = set(my_list) print(my_set) |
出力結果
{1, 2, 3, 4, 5}
このコードでは、重複する要素を含むリストmy_listを作成し、その後でset関数を使用して新たなセットmy_setを作成しています。
出力結果からわかるように、set関数は重複する要素を排除し、ユニークな要素だけを含むセットを生成します。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133712-300x300.png)
KindleUnlimited会員であれば、全ての本をご覧頂けます。 リストとラムダ式を理解すれば、Pythonプログラミングの世界が変わる 第1版
![](https://csharpprogram.com/wp-content/uploads/2023/03/pythonの世界が変わる1-188x300.jpg)
set関数の活用例
さて、set関数はユニークな要素のセットを作るだけでなく、2つ以上のセット間での演算(和集合、積集合、差集合など)も可能です。
それでは、2つのセット間で和集合を求める例を見てみましょう。
ソースコード例
1 2 3 4 |
set1 = set([1, 2, 3, 4, 5]) set2 = set([4, 5, 6, 7, 8]) union_set = set1.union(set2) print(union_set) |
出力結果
{1, 2, 3, 4, 5, 6, 7, 8}
このコードでは、2つのセットset1とset2を作成し、unionメソッドを使用して2つのセットの和集合(両方のセットに含まれる全ての要素)を求めています。
出力結果から、和集合には両方のセットに含まれる全てのユニークな要素が含まれていることがわかります。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題824_20230225215240-300x300.png)
set関数とリストの比較
ここで、set関数とリストを比較してみましょう。
リストとセットはどちらも複数の要素を格納できるデータ型ですが、その扱い方は異なります。
リスト | セット |
順序が保持される | 順序が保持されない |
重複要素を許可する | 重複要素を許可しない |
このように、リストとセットはそれぞれ異なる特性を持っています。
この違いを理解することで、それぞれのデータ型が最適な状況を把握することができます。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)
まとめ
この記事では、Pythonのset関数の基本的な使い方と活用方法について学びました。
set関数は、リストやタプルなどのイテラブルオブジェクトから重複する要素を排除したセットを生成する強力なツールです。
また、2つ以上のセット間の演算(和集合、積集合、差集合など)も可能で、これによって複雑なデータ操作が可能となります。
しかしながら、セットは順序を保持せず、重複する要素を許可しないため、それぞれのデータ型が最適な状況を理解することが重要です。
Pythonでデータを扱う際には、これらの特性を理解し、適切なデータ型を選択することが求められます。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)