MENU
アーカイブ
腎機能評価ツールを無料公開中 ➡ココをタップ

Pythonの基礎#16 変数のリストから任意の要素を削除する方法

この記事は,変数に入れたリストに格納されている複数の要素から任意の要素を削除する方法を学んだ備忘録です。

Python関連の記事リンク

\過去記事リンクやで/

その他のPython記事一覧はコチラ

/タップすると記事一覧ページが開くで☆\

Python学習にオススメ

Progate -楽しく学べるプログラミング学習アプリ

Progate -楽しく学べるプログラミング学習アプリ

Progate無料posted withアプリーチ


まいど!2020年6月からPythonの勉強をはじめた けいしゅけ(@keisyukeblog)です☆

3記事前から1変数に多数のデータを入れ込むリストについて書いています。前回はリスト中の特定要素を入替・追加する方法を書きました。

今回は,次の疑問に対するアンサー記事を書こうと思います。

リスト中で任意の要素を削除する方法が知りたい!

けいしゅけ

・・・うん,入替・追加ときたら削除やわな。

タコちゅけ

・・・でちゅね。

そんなわけで,この記事ではリスト中の任意要素を削除する方法を勉強していこうと思います。

こんなコードで学べるよ!

isono_members = ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
print(isono_members)
# ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
isono_members.pop(8)
print(isono_members)
# ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ']
isono_members.pop(7)
print(isono_members)
# ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']

離脱メンバーの名前を表示させたい場合は次のようにコードを書くといいかも!

isono_members = ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
print(isono_members)
# ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']

print(isono_members.pop(8))
# 花沢さん

print(isono_members)
# ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ']

print(isono_members.pop(7))
# タマ

print(isono_members)
# ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']

もしPythonにご興味があるのであれば,このブログ記事が何かしら参考になればと思います☆また,Twitterでもいいので,なにかコメント等あれば宜しくお願い致します!

Pythonでリストから要素を削除する方法

到達目標

変数名.pop() で指定インデックス番号の要素を削除でき,変数名.remove(‘文字列’) で指定文字列を消去,
変数名.clear() で要素をすべて消すことができる!
これらを使いこなそう☆

けいしゅけ

タコちゅけ,これを目標に進んでいこう!

もはや,キミなら想像できるやんね?

タコちゅけ

…。

けいしゅけ

なんか言えや?

リストの要素すべてを削除するにはどうしたら良いですか?

変数名.clear() を使うことですべてのリスト要素を消すことができます

リスト要素全削除する clear() メソッドの解説

まず,リスト要素全てを消し去る関数を先に解説していきます。リスト要素をすべて消すには関数(厳密にはメソッドと言います)のclear()を利用することで実行可能です。リストのメソッドclear()で,すべての要素が削除され,空のリストになる。

isono_members = ['海平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
print(isono_members)
['海平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
#リスト要素を全削除する
isono_members = ['海平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
isono_members.clear()
print(isono_members)
[]
けいしゅけ

バルスっ!!

タコちゅけ

バルちゅッ!!

……。ということで,clear() を利用することでリスト要素全てが消えたことが確認できたと思います。

指定した位置の要素を削除したい場合はどうしたら良いですか?

変数名.pop(インデックス番号) と記述することで特定要素を削除できます

リストから任意の要素を削除する pop() メソッドの解説

先ほどのclear()と同じく,リストのメソッドであるpop()を用いることで,指定した位置の要素を削除することが可能です。

ここでポイントになるのがインデックス番号です。変数名.pop(インデックス番号)と記述する必要があるので,インデックス番号ってなんやねん?という方は以下のページを読んでみてください。

変数のリストから特定要素を取り出すインデックス番号の使い方を覚えようPythonの基礎#14 変数のリストから特定要素を取り出すインデックス番号の使い方を覚えよう

isono_membersという変数の中には磯野家の皆さんが要素として格納されています。ここに,花沢さんが乱入してきました。この押しかけてきた花沢さんを何とかカツオくんが家に帰したとしましょう(花沢さんごめんなさいッ!)。

さらにその後,タマがどこかへ家出してしまったと仮定してコードを書いてみました。

#磯野家に花沢さんが加入した状態
isono_members = ['海平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
print(isono_members)
#カツオ君が花沢さんをお家へ送り届け,タマが家出をしたとします。
#花沢さんをpop()を使ってリストから削除する
isono_members.pop(8)
print(isono_members)
#タマが家出をしたとして,pop()を使ってリストから削除する
isono_members.pop(7)
print(isono_members)
['海平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
['海平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ']
['海平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']

離脱メンバーの名前を表示させたい場合は次のようにコードを書くといいかも!

#isono_membersを表示する
isono_members = ['波平','フネ','マスオ','サザエ','カツオ','ワカメ','タラ','タマ','花沢さん']
print(isono_members)

#花沢さんをコンソールに表示させる(削除対象確認)
print(isono_members[8])
#花沢さんをpop()を使ってリストから削除する
isono_members.pop(8)
#isono_membersを表示する
print(isono_members)

#タマをコンソールに表示させる(削除対象確認)
print(isono_members[7])
#タマをpop()を使ってリストから削除する
isono_members.pop(7)
#isono_membersを表示する
print(isono_members)
print(isono_members)
['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ', '花沢さん']
花沢さん
['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ', 'タマ']
タマ
['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']

次に,しばらくマスオさんが単身赴任で長期出張してしまったとした場合,磯野家メンバーはどうなるか?

負の値を使って末尾(最後)からの位置を指定してリストから除外してみましょう。

#isono_membersを表示する
isono_members = ['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']
print(isono_members)

#マスオさんをインデックス番号で指定して表示させる
print(isono_members[-5])
#マスオさんをインデックス番号で指定して削除
isono_members.pop(-5)

#isono_membersを表示する
print(isono_members)
['波平', 'フネ', 'マスオ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']
マスオ
['波平', 'フネ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']

pop()のカッコ内にインデックス番号を書かない場合は,末尾(最後)の要素を削除される

今回は,タラちゃんがイクラちゃん宅にお泊りに行ったことにしてみよう。

#isono_membersを表示する
isono_members = ['波平', 'フネ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']
print(isono_members)
#メソッド pop() で削除しつつ,削除した要素を表示させる
print(isono_members.pop())
#isono_members内の最終的な要素を確認
print(isono_members)
['波平', 'フネ', 'サザエ', 'カツオ', 'ワカメ', 'タラ']
タラ
['波平', 'フネ', 'サザエ', 'カツオ', 'ワカメ']

存在しない位置を指定するとエラーになる

#isono_membersからインデックス番号6要素を削除試行する
isono_members = ['波平', 'フネ', 'サザエ', 'カツオ', 'ワカメ']
print(isono_members.pop(6))
Traceback (most recent call last):
  File "c:UserskeisyukeDocumentspython_prgsample.py", line 2, in <module>
    print(isono_members.pop(6))
IndexError: pop index out of range

指定した値と同じ要素を削除する方法はありますか?

remove() というメソッドを使うことで可能です