【Python】リストの要素の削除(pop,remove,clear,del文)の方法

今回はリストの要素の削除について取り上げます。リストはリスト内の要素を変更可能です。このように変更可能な事をミュータブル(mutable、日本語訳:変更可能な)といい、「リストはミュータブルだ」などといいます。では実際に要素を削除してみましょう。

要素の変更と追加については、下記記事にて取り上げています。

目次

リストの要素を削除する方法

リストの要素を削除する方法は

pop()メソッド
remove()メソッド
clear()メソッド
del

などがあります。ひとつずつ見ていきます。

pop()メソッド

pop()メソッドはオブジェクト名.pop(i)とすることで、インデックス値がiの要素を削除することができます。

Python
animals = ["monkey","crab","crocodile"]
animals.pop(1) 
print(animals)

【実行結果】
['monkey', 'crocodile']

インデックス値1のcrabが削除されました。

pop(i)iにマイナスの値を使うこともできます。マイナスを使った場合、-1が末尾、-2が末尾よりひとつ手前、-3が…となります。

Python
animals = ["monkey","crab","crocodile"]
animals.pop(-1) 
print(animals)

【実行結果】
['monkey', 'crab']

-1で削除を指定したので、末尾のcrocodileが削除されました。

remove()メソッド

remove()メソッドはpop()メソッドと異なり、要素の値そのものを指定します。その為、リスト内の何番目に位置しているか?という事を気にしなくても削除できるメソッドになっています。
オブジェクト名.remove(x)とすることでxと同じ要素のうち、最初のものを削除します。

Python
animals = ["monkey","crab","crocodile"]
animals.remove("crab")
print(animals)

【実行結果】
['monkey', 'crocodile']

つづいて、リストの要素に同じ値が2つある場合をみてみましょう。同じ値が2つある場合は、最初のものが削除されます。

Python
animals = ["monkey","crab","crocodile","crab"]
animals.remove("crab")
print(animals)

【実行結果】
['monkey', 'crocodile', 'crab']

clear()メソッド

clear()メソッドはリスト内の全ての要素を削除します。オブジェクト名.clear()で削除できます。

Python
animals = ["monkey","crab","crocodile"]
animals.clear()
print(animals)

【実行結果】
[]

リスト内の全ての要素が削除され、空のリストが出力されました。

del文

del文を用いた要素の削除では、削除する要素を1つだけ指定する事もできますし、リスト内のある範囲の要素を一挙に削除する事もできます。

要素を1つ消す場合(del文)

要素を1つ消す場合はdel オブジェクト名[i] とします。ここで、iはインデックス値になります。

Python
animals = ["monkey","crab","crocodile"]
del animals[1]
print(animals)

【実行結果】
['monkey', 'crocodile']
Python
animals = ["monkey","crab","crocodile"]
del animals[1]
print(animals)

【実行結果】
['monkey', 'crocodile']

インデックス値1のcrabが削除されました。(※インデックスは0から始まる事に注意

要素を複数消す場合(del文)

要素を複数消す場合はdel オブジェクト名[i:j]とします。ここでi,jはそれぞれインデックス値になります。また、削除される要素はiからj-1である事に注意です。del オブジェクト名[i]とした場合は、インデックス値iのものが削除されます。

Python
animals = ["monkey","crab","crocodile","shrimp"]
del animals[1:3]
print(animals)

【実行結果】
['monkey', 'shrimp']

インデックス値1crabからインデックス値2(3-1 = 2)crocodileまで削除されました。

このdel文でのインデックス値の示し方ですが、[:3][1:][:]といった数字を省略した表し方ができます。
それぞれみていきましょう。

開始番号を省略(del文)

開始暗号を省略すると一番初めの数字0が入力されたものとみなされます。

Python
animals = ["monkey","crab","crocodile","shrimp"]
del animals[:3]
print(animals)

【実行結果】
['shrimp']

上記の場合、インデックス値が02までの要素が削除されました。monkeyがインデックス値0、crabがインデックス値1、crocodileがインデックス値2なので、インデックス値3のshrimpだけがリストに残りました。

終了番号を省略(del文)

終了番号を省略すると末尾の要素まで削除されます。

Python
animals = ["monkey","crab","crocodile","shrimp"]
del animals[1:]
print(animals)

【実行結果】
['monkey']

インデックス値が0monkeyのみが残りました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次