PYTHON MEBY

Pythonでセットに要素を追加(add, update)

この記事では、Pythonのset型に要素を追加する方法について解説します。add()メソッドとupdate()メソッドの使い方、それぞれの違い、そして具体的なコード例を交えて説明します。

目次

add()メソッドによる要素の追加

set型のadd()メソッドは、セットに要素を1つ追加します。既に存在する要素を追加しようとすると、エラーは発生せず、何も起こりません。

my_set = {1, 2, 3}
my_set.add(4)
print(my_set)  # 出力: {1, 2, 3, 4}
my_set.add(3) # 既に存在する要素を追加
print(my_set) # 出力: {1, 2, 3, 4}

add()メソッドは、set型の要素を1つずつ追加するのに適しています。

update()メソッドによる複数の要素の追加

update()メソッドは、複数の要素を一度にセットに追加することができます。引数には、イテラブルなオブジェクト(リスト、タプル、他のセットなど)を指定します。

my_set = {1, 2, 3}
my_set.update([4, 5, 6])
print(my_set)  # 出力: {1, 2, 3, 4, 5, 6}
my_set.update({7, 8}, {9}) #複数のイテラブルオブジェクトを指定
print(my_set) # 出力: {1, 2, 3, 4, 5, 6, 7, 8, 9}

update()メソッドは、複数の要素を一括で追加したい場合に便利です。

add()とupdate()の違い

add()メソッドは一度に一つの要素しか追加できませんが、update()メソッドは複数の要素を一度に追加できます。要素数を問わず、add()メソッドはシンプルで可読性が高いです。一方、update()メソッドは複数の要素を追加する際に効率的です。どちらのメソッドを使うかは、状況に応じて選択してください。

# add()メソッド
my_set = {1, 2, 3}
my_set.add(4)
my_set.add(5)

# update()メソッド
my_set2 = {1, 2, 3}
my_set2.update([4, 5])

print(my_set) # {1, 2, 3, 4, 5}
print(my_set2) # {1, 2, 3, 4, 5}

注意点

setは、変更可能なオブジェクトです。add()やupdate()メソッドで変更されたセットは、元のセットと同じオブジェクトを参照します。変更が不要な場合は、コピーを作成して操作すると良いでしょう。

my_set = {1, 2, 3}
new_set = my_set.copy()
new_set.add(4)

print(my_set) # {1, 2, 3}
print(new_set) # {1, 2, 3, 4}

setは順序付けられていないため、要素の追加順序は出力に影響を与えません。

関連記事