Pythonでデータの集まりを扱う1 でList、Pythonでデータの集まりを扱う2でTupleを扱ってきました。
今回はSetについて説明をさせていただきたいと思います。
基本的な使い方
Setは、重複のない要素で構成されるコレクション(データの集まり)です。
重複がないデータというのはいわゆるユニークなデータです。また、データには順序の情報がありません。要するに〇番目のデータは△である、という指定はできません。
では、実際にコードで確認してみましょう。
words_list = ['s', 't', 'a', 'r', 't', 'l', 'a', 'b']
words_set = set(words_list)
print(words_set)
実行結果は
{'a', 'l', 's', 't', 'r', 'b'}
となりました。
重複する文字が無くなり、順番も異なりました。
もう一度、実行してみましょう。
{'b', 's', 't', 'r', 'a', 'l'}
先ほどと順番が変わりました。順序が保証されていないことが分かります。
Setの演算
Setでは数値や文字の演算をすることができます。
set1 - set2 set1からset2に含まれる要素を削除する
set1 | set2 set1とset2を合わせる
set1 & set2 set1とset2の両方に含まれる共通データを求める
set1 ^ set2 set1とset2の両方に含まれるデータを除いた値を求める
では実際に例で確認してみましょう。
numbers1 = set([2,4,6,8,10,12])
numbers2 = set([3,6,9,12,15])
print(numbers1 | numbers2)
print(numbers1 - numbers2)
print(numbers1 & numbers2)
print(numbers1 ^ numbers2)
実行結果は以下の通りです。
{2, 3, 4, 6, 8, 9, 10, 12, 15}
{8, 2, 10, 4}
{12, 6}
{2, 3, 4, 8, 9, 10, 15}
Setは重複するデータをと除くため、このような出力結果となりました。
Tetsuya Ikezawa
(5 months, 1 week ago)