営業時間:平日9:00~17:00

プログラミング

Python基礎編:set 要素の追加と削除

saori
Python基礎編:set 要素の追加と削除

前回は、setの基礎知識について説明しました。今回は、要素の追加と削除について説明していきます。

Python基礎編:setの記述方法と変換

setの要素の追加

setはミュータブル(変更可能)なオブジェクトなので、リストと同じように変更ができます。setの要素を追加するには、「add()メソッド」を使用します。

以下が出力結果です。

きちんと「blue」が追加されていますね。また、次のように追加してみるとします。

出力結果

1行目にsetの要素として「red,blue」とあります。そこに「blue」を追加してみました。リストでは追加すると、同じ要素名でも後ろに追加されましたが、今回は初めに入力したコードの要素から何も変わっていません。

setには「要素が重複しないように管理される」という性質があるということを前回の記事で説明しました。追加するときも、同じ要素名かどうかを判断して、追加されるのです。

setの要素の削除

要素の削除には以下の4つの方法があります。削除の仕方によって使い分けます。

  • remove()メソッド:指定の要素の削除(存在しない値を指定した場合エラーあり)
  • discard()メソッド:指定の要素の削除(存在しない値を指定した場合でもエラーなし)
  • pop()メソッド:要素をランダムに取り出して削除
  • clear():setの要素をすべて削除

remove()メソッド

remove()は指定の要素の削除ができます。基本的な使い方は以下の通りです。

変数名.(ドット)remove(削除したい要素名)

では、作ったsetから「4」という要素を削除してみます。

以下が出力結果です。

「4」だけが削除されました。ちなみにこの「remove()メソッド」は存在しない値を指定した場合はエラーが出ます。要素にない「6」を指定してみましょう。

以下が出力結果です。

「KeyError:6」とエラーが出ました。「6という指定はおかしいよ。」という意味です。

discard()メソッド

続いてはdiscardです。

このメソッドも「remove()」と同じように、指定した要素の削除ができます。ただ、「存在しない値を指定した場合にエラーがでない」という違いがあります。

「remove()メソッド」で試したsetと同じようにコードを書いてみましょう。

以下が出力結果です。

エラーにはならずに無視されています。

エラーになる場合、ならない場合を想定して、コードを使い分けることができます。

pop()メソッド

リストやディクショナリの学習でもでてきた「pop()メソッド」です。リストやディクショナリでは、インデックス番号やkeyを指定することでその要素の削除ができました。しかし、setの場合はリストやディクショナリと同じように考えて使ってしまうと大変です。

まず、リストでの「pop()」の使い方を見てみましょう。

fruit = ['りんご','オレンジ','レモン','バナナ','いちご']

上記から、popを使っていちごを削除してみます。

引数に削除したい要素を入れています。そして実行すると、

削除したい要素だけを削除することができました。では、次にsetでの「pop()」の使い方を見てみましょう。

以下が出力結果です。

リストとは違って、引数になにも要素を入れていません。これは、setでの「pop()メソッド」は、ランダムに要素を取り出して削除するからです。どの要素を取り出すかは、setによって異なるので分かりません。今回のコードでは「1」を取り出して削除しています。

popの後ろの()に引数を入力するとエラーが出ます。

以下が出力結果です。

「TypeError: pop() takes no arguments (1 given)」は「pop()は引数を受け取りません」という意味です。

setのpop()は、リストやタプル、ディクショナリと使い方が異なるので、間違わないように気を付けましょう。

clear()メソッド

最後に「clear()メソッド」です。これは、setの要素をすべて削除します。要素のみの削除なので、変数自体は削除されずに、空のsetが残ります。

以下が出力結果です。

空のsetだけが残りました。

まとめ

setの追加と削除を説明しました。リストやタプル、ディクショナリを学んだ後だと、簡単に感じられるのではないでしょうか。

次回はsetを使う上で重要な「集合」ついて説明します。

あなたにオススメの記事

Python基礎編:setの記述方法と変換

Python基礎編:setの記述方法と変換

10月5日はスティーブ・ジョブズ氏の忌日

10月5日はスティーブ・ジョブズ氏の忌日

MacBook超初心者がAppleサポートを利用してみた

下北沢盆踊りへ行ってきました

下北沢盆踊り2019に行ってきました

Apple Watch Series5のレンタル始まるよ!

Apple Watch Series5のレンタル始まるよ!

8月4日は日本でiTunes Music Storeのサービスが開始された日

8月4日は日本でiTunes Music Storeのサービスが開始された日

2019年5月の沖縄出張秘話まとめ

2019年5月の沖縄出張秘話まとめ

文房具専門店伊東屋の「紙」がスゴい

8月10日は宇宙で初の結婚式が挙げられた日

8月10日は宇宙で初の結婚式が挙げられた日

銀座ソニーパークの「WALKMAN IN THE PARK」

銀座ソニーパークの「WALKMAN IN THE PARK」

Python基礎編:setの集合

Python基礎編:setの集合

宮古島 東平安名崎で朝日を撮影してきました

【宮古島】東平安名崎の朝日が最高に綺麗

MacBookやiPadのフリー素材が欲しいとき

MacBookやiPadのフリー素材が欲しいとき

第60回いたばし花火大会2019で花火の写真を撮ってみました

第60回いたばし花火大会2019で花火の写真を撮ってみました

納涼夏祭りin高速道路の高架下

納涼夏祭りin高速道路の高架下

SPONSOR

  • 最近チェックしたアイテム