Pythonのリストから要素を削除する4つの方法!

PythonPython

Pythonのリストに格納した要素を削除する方法について書いています。
載せているコードはPythonのバージョン3.10.5で確認しました。

PR

要素番号(インデックス)を指定して削除する

リストの要素番号を指定して、削除する方法です。
削除したいリストの要素番号をdelに指定して削除します。

drinks = ['milk', 'wine', 'cola', 'water', 'tea']

del drinks[2]
print(drinks) # ['milk', 'wine', 'water', 'tea']

drinksに5つの要素を入れて、リストを作成しました。

次の処理で、delを使っています。
削除したいリストの要素番号を指定して、リストの値を削除します。

リストの番号は0番目から数えます。「0番が’milk’、1番が’wine’…」となります。
今回は「drinks[2]」を指定しているので、’cola’が削除されます。

print関数で確認すると、「['milk', 'wine', 'water', 'tea']」が出力されました。
2番目の要素が削除されたことが確認できました。

PR

要素を指定して削除する

リストに入っている要素を指定して、削除する方法です。
removeメソッドを使って、削除します。

drinks = ['milk', 'wine', 'cola', 'water', 'tea']

drinks.remove('wine')
print(drinks) # ['milk', 'cola', 'water', 'tea']

drinksに5つの要素を入れて、リストを作成しました。

次の処理で、drinksリストからremoveメソッドを呼んでいます。
呼び出し時に、削除したい要素を引数として渡しました。

渡した要素がリストから削除されます。今回は’wine’を削除します。
print関数で確認すると、「['milk', 'cola', 'water', 'tea']」が出力されました。

drinksリストから、’wine’が削除されたことが確認できました。

要素が見つからないとき

removeメソッドを使って、要素が見つからないときにはValueErrorが発生します。
下記のように、存在しない要素を指定したときです。

Traceback (most recent call last):
  File "/Users/yasuaki/xxx.py", line 9, in <module>
    drinks.remove('sake')
ValueError: list.remove(x): x not in list

上記のように、存在しないときに例外が発生します。
例外が発生した時に処理をしたい場合には、下記のようにtry exceptを使って、例外処理を書いておきます。

try:
    drinks = ['milk', 'wine', 'cola', 'water', 'tea']

    drinks.remove('sake')
    print(drinks)
except ValueError:
    print('sakeが見つかりませんでした')

ValueErrorが発生した場合に、その配下の処理が動きます。

今回の場合だと、’sake’がdrinksリストに見つからないため、ValueErrorが発生します。
発生したValueErrorをexceptでキャッチして、print関数でメッセージを出して、処理を終了します。

末尾から値を取得して、削除する

popメソッドを使うと、リストの末尾から値を取り出すことができます。
取り出した値はリストから削除されます。

下記のコードでは、取り出した値を受け取っていますが、変数で受け取らずにpopメソッドで最後だけ削除することも可能です。

drinks = ['milk', 'wine', 'cola', 'water', 'tea']
drink1 = drinks.pop()
drink2 = drinks.pop()

print(drink1) # tea
print(drink2) # water
print(drinks) # ['milk', 'wine', 'cola']

drinksに5つの要素を入れて、リストを作成しました。

次の処理で、drinksリストからpopメソッドを呼んでいます。
popメソッドで返ってくる値をdrink1変数で受け取っています。
次もpopメソッドを返ってくる値をdrink2変数で受け取っています。

それぞれ、リストの末尾から、ひとつずつ取り出されます。
今回の場合だと、’tea’が取り出されて、’water’が取り出されるといった形です。

print関数で変数を確認すると、drink1には’tea’、drink2には’water’が入っていることが確認できました。
リストの内容を確認すると、取り出された値が削除されて、結果「['milk', 'wine', 'cola']」になりました。

要素を全て削除する

リストに入っている全ての要素を削除するには、clearメソッドを使います。

drinks = ['milk', 'wine', 'cola', 'water', 'tea']

drinks.clear()
print(drinks) # []

drinksに5つの要素を入れて、リストを作成しました。

次の処理で、drinksリストからclearメソッドを呼んでいます。
clearメソッドは呼ぶだけで、リストの全ての要素を削除してくれます。

print関数で確認すると、空のリスト([])が返ってきました。
全ての要素が削除されたことが確認できました。

コメント

Ads Blocker Image Powered by Code Help Pro

広告ブロッカーが検出されました。

ブラウザの拡張機能を使用して広告ブロックをしていることが確認できました。 ブラウザの広告ブロッカー機能を無効にしていただくか、codelikes.comをホワイトリストに追加し、更新をクリックしてください。 お手数ですが、よろしくお願いします🙇‍♂️
タイトルとURLをコピーしました