2019TweetPythonのpopメソッドは、リスト(list)や辞書(dict)の任意の要素を削除する時に使うものです。リストと辞書の場合、書き方が少々異なるので、ここでしっかり理解しておきましょう。Pythonのpopメソッドの使い方Pythonのpopメソッドの書き方は次の通りです。デフォルト値)リストの場合は削除したい要素のインデックス番号を、辞書の場合は削除したい要素のキーを書きます。辞書のデフォルト値については、後述します。popメソッドの重要なポイントは次の2つです。メソッドを実行すると元のリストや辞書が変わる(要素が削除される)。popメソッドは返り値として削除した要素を返す。これから多くの例を元に解説するので、この2点をしっかり理解するよう心がけましょう。Pythonのlistのpopそれではリストにpopメソッドを使ってみましょう。以下のコードをご覧ください。popメソッドの引数が空白の場合、末尾の要素を削除します。popメソッドの返り値を変数popped_listに代入しています。結果、リストから末尾の要素’Englsh’が削除されて変数popped_listに代入され、元のリスト’language’からは、それが削除されていることが確認できますね。ここでは、まず以下の点をおさえておきましょう。pop()の引数を空白にすると末尾の要素が削除される。pop()メソッドの返り値は削除した要素であり、これは別の変数に代入することができる。別の変数に代入しなくても良い。(2つ後の例からは代入せず、そのまま返り値として表示する)。pop()メソッド実行後は元のリストから要素が削除されている。次に、pop()の引数に、削除したい要素のインデックス番号を入れてみましょう。次の例をご覧ください。インデックス番号を指定すると任意の要素を削除することができます。'C']pop()メソッドの引数に渡したインデックス番号の要素が削除されていることがわかりますね。インデックス番号は前から数える時は0から始まり、後ろから数える時は-1から始まります。うっかり見落としがちなので、再度確認しておきましょう。上記の例では、インデックス番号2番の’Java’が削除されていることが分かりますね。pop()の引数には後ろから数えたインデックス番号を渡すこともできます。以下のコードをご覧ください。後ろから数えたインデックス番号でも指定できます。'C++']詳しく解説しますね。最初のlanguage.pop()では、引数を渡していないので自動的に末尾の要素である’C’が削除されています。popメソッド実行時の返り値はCで、実行後のリストではCが削除されていますね。2回目のlanguage.pop(-1)実行時はインデックス番号は次のようになっています。この時インデックス番号-1を指定してるので、また末尾の要素が削除されます(実は空白の時、つまりpopメソッドのデフォルト時は-1が設定されています)。結果、2回目のpopメソッド実行時の返り値はRubyで、実行後のリストではRubnyが削除されました。続いて3回目のlanguage.pop(-3)実行時のインデックス番号は次のようになっています。今回はインデックス番号-3を指定しているので、Pythonが削除されてpopメソッドによって返されています。‘C++’]となりました。存在しないインデックス番号を指定したり、空になったリストにpop()を実行するとインデックスエラーになるということも覚えておきましょう。Pythonのpop()を多次元リストに使う場合それでは、多次元リストにpop()を実行した場合はどうなるでしょうか。次のコードをご覧ください。4]]popメソッドでは、引数に[-1][0](=5)というように多次元の要素を指定することはできません。これは3次元リストや4次元リストなど、どれだけ多次元になっても変わりません。次のコードをご覧ください。4]]pop()の引数は空白なので、デフォルトの-1が削除されます。8]]ですので、それが削除されています。Pythonのリストのインデックス番号に関しては『Pythonのリストからの要素の取り出し方法のまとめ』でも詳しく解説しているので、ぜひご覧ください。Pythonのdictのpoppopメソッドは辞書に対しても使うことができます。冒頭でも紹介しましたが、辞書の場合は次のように、削除したい値のキーを、pop()の引数に渡します。デフォルト値はオプションで、指定したキーが存在しなかった場合の返り値を設定するものです。デフォルト値)それでは早速見ていきましょう。次のコードをご覧ください。sales.pop(‘apple’)で、popメソッドの実行結果を変数popped_elementに代入しています。結果、辞書から指定のキー’apple’とその値が削除されていますね。辞書にpopメソッドを使った場合、元の辞書からはpop()に渡したキーとそれに対応する値が削除されます。辞書へのpopメソッドの実行時の返り値は辞書の値だけ(この場合は2だけ)という点をおさえておきましょう。辞書のpopメソッドに存在しないキーを指定した場合はキーエラーになります。リストのpopメソッドの時はインデックスエラーでしたね。辞書のpop()の場合と、リストのpop()の場合ではエラーの内容が異なるということを頭の隅に入れておきましょう。Pythonのdictのpop()にデフォルト値を指定した場合ただし、辞書のpop()の第二引数にデフォルト値を入れていた場合、第一引数で存在しないキーを指定した場合は、pop()の実行結果として、デフォルト値が返り値となり、元の辞書には何も変化は加えられません。以下のコードで確認しておきましょう。存在しない場合デフォルト値を返す。まとめリストのpop()では引数に削除したい要素のインデックス番号を入れます。辞書のpop()には引数に削除したい要素のキーを入れます。辞書の場合は、キーが存在しなかった場合の返り値のデフォルトを第二引数に渡すことができます。双方とも、指定の要素を削除した新しいリストや辞書を作るのではなく、元のリストや辞書から要素を削除するという点をしっかり理解しておきましょう。popメソッドの返り値は削除した要素です。この点も覚えておきましょう。これらは使う機会も少なくないので、実際に自分でコードを書いて慣れておくと良いでしょう。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。