【ヤギでもわかるPython入門】セット

ヤギでもわかるPython入門
スポンサーリンク
読了時間 挨拶

記事は約 3 分で読めます。

くろやぎ
くろやぎ

みなさん、こんにちは!
くろやぎ(kuroyagikuncom)です。
よろしければ、Twitterの方にも遊びに来てください。

今回は、Pythonのセットについて解説します。よろしくお願いします。

スポンサーリンク

Pythonにおけるセットの基本

数学でいうところの集合の理論と関連があります。リストと同じように要素を変更することができますが、重複した要素を持つことはできません。さらに、セットには順序の概念がありません。また、タプルのように要素を変更できないfrozensetというセットもあります。Pythonのfrozensetについては後述します。セットは要素を「{}」でくくり、「,」で区切るようにして定義します。

構文

{要素1, 要素2}

具体的には、次のように記述します。

temp = {'くろ', 'やぎ', 'くん'}

for i in temp:
    print(i)

ただし、重複する要素は持つことができないので、下の例の’やぎ’という要素は1つの要素として扱われます。

temp = {'くろ', 'やぎ', 'くん', 'しろ', 'やぎ', 'さん'}

for i in temp:
    print(i)

Pythonにおけるセットの要素の追加

1つの要素を追加するときにはaddメソッド、複数の要素を追加するときにはupdateメソッドを使います。

temp = {'くろ', 'やぎ'}
print(temp)

temp.add('くん')
print(temp)

temp.update({'しろ', 'やぎ', 'さん'})
print(temp)

くり返し説明しますが、要素の重複は許されないことに注意して下さい。

Pythonにおけるセットの要素の削除

セットから要素を削除するには、removeメソッドまたはdiscardメソッドを使います。指定した要素が存在しないとき、removeメソッドはエラーを起こすのに対し、discardメソッドはエラーを起こしません。

temp = {'kuro', 'yagi', 'kun', '.', 'com'}

temp.remove('kun')
print(temp)

temp.discard('net') # KeyErrorが生じない
print(temp)

temp.discard('com')
print(temp)

Pythonのfrozenset

要素の変更をすることができないfrozensetは次のように定義します。

構文

frozenset({要素1, 要素2})

要素の追加や削除ができないため、上で扱ったremoveメソッドやdiscardメソッド、addメソッド、updateメソッドを使うとエラーが起こります。

temp = frozenset({'kuro', 'yagi', 'kun'})
print(temp)

# temp.remove('kuro')
# temp.add('com')

まとめ

いかがでしたか?
今回学んだことをまとめておきますね。

  • Pythonにおけるsetの書式
  • setの要素の追加、削除
  • frozenset関数によるfrozensetの定義と使い方

次回はPythonにおけるスライスの扱い方ついて解説します。

コメント

タイトルとURLをコピーしました