Pythonのリスト(配列)の削除のまとめ。先頭、末尾、指定の位置、複数、一致する値、全削除
はじめに
Pythonのlist型(リスト)へのデータへの追加、結合の仕方のまとめです。他プログラミング言語の配列と同様に扱えます。
目次
- はじめに
- 先頭の削除 - pop
- 末尾の削除 - pop
- 任意の位置の削除 - pop, del
- 複数の要素の削除 - del
- 指定した値と一致した場合に削除 - remove
- 全ての要素の削除 - clear, del
先頭の削除 - pop
リストの先頭の要素を削除します。popの引数に0を指定します。しかし、popをリストの先頭に対しておこなうとパフォーマンスは悪いです。処理としては、他の要素を一つずつずらしているためです。
list = [1, 2, 3] list.pop(0) print(list) # [2, 3]
末尾の削除 - pop
リストの末尾の要素を削除します。popの引数に何も指定しない場合、末尾が削除されます。
list = [1, 2, 3] list.pop() print(list) # [1, 2]
任意の位置の削除 - pop, del
リストの指定した位置の要素を削除します。popの引数に削除したいインデックスを指定します。
list = [1, 2, 3] list.pop(1) print(list) # [1, 3]
また、delを用いてリストの指定した位置の要素を削除することも可能です。
list = [1, 2, 3] del list[1] print(list) # [1, 3]
複数の要素の削除 - del
リストの複数の要素の削除します。delの指定するインデックスに、コロン:
(スライス)を用いて複数の要素の削除ができます。
list = [1, 2, 3, 4] del list[1:3] print(list) # [1, 4]
指定した値と一致した場合に削除 - remove
リスト中で指定した値と一致した場合、その最初の要素を削除します。
list = ['a', 'b', 'c', 'b'] list.remove('b') print(list) # ['a', 'c', 'b']
もし指定された値が存在しなければ、エラーとなります。
list = ['a', 'b', 'c'] list.remove('d') # エラー内容 Traceback (most recent call last): File "p.py", line 2, in <module> list.remove('d') ValueError: list.remove(x): x not in list
全ての要素の削除 - clear, del
リストの全ての要素を削除します。このメソッドはpython3系から使用可能です。
list = [1, 2, 3] list.clear() print(list) # []
また、python2系、python3系ともにdelが使用できます。コロン:
(スライス)を用いて全ての要素の削除ができます。
list = [1, 2, 3] del list[:] print(list) # []
初期化したいリストを使用したい場合は、空のリストで再初期化することも可能です。
list = [1, 2, 3] list = [] print(list) # []