python入門 - python3系からのまとめ

Python3系からはじめるPythonist

Pythonのリスト(配列)の削除のまとめ。先頭、末尾、指定の位置、複数、一致する値、全削除

はじめに

Pythonのlist型(リスト)へのデータへの追加、結合の仕方のまとめです。他プログラミング言語の配列と同様に扱えます。

目次

 

先頭の削除 - 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) # []