python 集合(set)の値を削除する

python 集合(set)の値を削除する

pythonで、重複する値をもたない集合(set)の値を削除するサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

値を削除

discardを使って、値を指定して削除することが可能です。

s = {'a', 'b', 'c'}

s.discard('a')

print(s)
# {'c', 'b'}

存在しない値を、削除しようとしてもエラーにはなりません。

s = {'a', 'b', 'c'}

s.discard('d')

print(s)
# {'c', 'b'}

removeも、同様に値を指定して削除できるが、存在しないものを指定するとエラーになります。

s = {'a', 'b', 'c'}

s.remove('a')

print(s)
# {'c', 'b'}

s.remove('d')

print(s)
# KeyError: 'd'

popを使って、削除することもできますが、値は指定することができません。

s = {'a', 'b', 'c'}

s.pop()

print(s)
# {'c', 'b'}

値がないとエラーとなります。

s = {'a', 'b', 'c'}

s.pop()
s.pop()
s.pop()

s.pop()
# KeyError: 'pop from an empty set'

全て削除する場合は、clearを使用します。

s = {'a', 'b', 'c'}

s.clear()

print(s)
# set()