Pythonのset(集合型)は、作成した後でも要素を追加したり削除したりできる「ミュータブル(変更可能)」なデータ型です。リストの .append() とは異なり、set への要素の追加には .add() メソッドを使用します。
この記事では、.add() メソッドの基本的な使い方と、set の「重複を許さない」という特徴に関連した .add() の動作について解説します。
目次
.add() メソッドの基本的な使い方
.add() メソッドは、引数として渡された1つの要素を set に追加します。set は順序の概念を持たないため、要素が特定の位置(末尾など)に追加されるわけではなく、単に set の一部として加えられます。
構文:
set変数.add(追加したい要素)
使用例:
# 登録済みユーザーのセット
registered_users = {"tanaka", "sato", "suzuki"}
print(f"追加前: {registered_users}")
# 新しいユーザー "kato" を追加
registered_users.add("kato")
print(f"追加後: {registered_users}")
実行結果:
追加前: {'suzuki', 'sato', 'tanaka'}
追加後: {'kato', 'suzuki', 'sato', 'tanaka'}
(set は順序を持たないため、表示される順序は実行環境によって異なる場合があります。)
重複する要素を追加した場合の動作
set の最大の特性は「重複する要素を持たない」ことです。.add() メソッドもこの特性に従います。
もし、set に既に存在する要素を .add() で追加しようとしても、エラーにはならず、セットは何も変化しません。
使用例: 先ほどの set に、既に存在する "sato" を再度追加してみます。
registered_users = {'kato', 'suzuki', 'sato', 'tanaka'}
print(f"追加前: {registered_users}")
# 既に存在する "sato" を再度追加
registered_users.add("sato")
print(f"再追加後: {registered_users}")
実行結果:
追加前: {'kato', 'suzuki', 'sato', 'tanaka'}
再追加後: {'kato', 'suzuki', 'sato', 'tanaka'}
"sato" を追加しましたが、set の内容は「追加前」と「再追加後」で全く変わっていません。このように、.add() は set の重複排除のルールを自動的に守ります。
まとめ
setに1つの要素を追加するには.add(要素)メソッドを使用します。- 追加する要素が
set内に既に存在する場合、.add()を実行してもsetは変化せず、エラーも発生しません。
