営業時間:平日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を使う上で重要な「集合」ついて説明します。

あなたにオススメの記事

宮古島の野鳥【写真あり】

宮古島の野鳥【写真あり】

地元民に愛される熊野神社例大祭

地元民に愛される熊野神社例大祭

5月10日はビデオ業界の普及率を上げたベータマックスが発売された日

8月20日は交通信号設置記念日

8月20日は交通信号設置記念日

iPad9.7インチでエクセルを使ってみた感想

Mid2019モデル最新のMacBook Pro 15インチが6/18からレンタル開始

Mid2019モデル最新のMacBook Pro 15インチが6/18からレンタル開始

佃島の盆踊は東京都指定無形民俗文化財

佃島の盆踊は東京都指定無形民俗文化財

9月17日はモノレール開業記念日

9月17日はモノレール開業記念日

6月1日は電波の日

6月1日は電波の日

アシバ祭出店の沖縄料理

アシバ祭出店の沖縄料理

4月22日はAPS(アドバンストフォトシステム)が発売された日

事務所栽培で初収穫したキュウリとナスを料理してみた

事務所栽培で初収穫したキュウリとナスを料理してみた

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

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

令和元年にオススメの【カニ通販店】探しました

令和元年にオススメの【カニ通販店】探しました

Apple Watchの超便利な機能「計算機」で割り勘しよう

Apple Watchの超便利な機能「計算機」で割り勘しよう

SPONSOR

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