【Python入門】List(リスト)とdel文の使い方まとめ

python

Pythonでリストを使っていると、「この場所の値だけ消したい」「まとめて複数の値を削除したい」という場面があります。

そんなときに便利なのが、del文です。

delは、番号を使ってリストの要素を削除できるPythonの機能で、remove()pop()よりも自由な使い方ができます。

この記事では、del文の基本的な削除方法から、まとめて削除する方法まで、わかりやすく説明します。


スポンサーリンク

del文の基本的な使い方

書き方

del リスト[番号]

使用例:指定した場所の要素を削除

# フルーツのリストを作成
fruits = ["りんご", "バナナ", "みかん"]

# 1番目の"バナナ"を削除
del fruits[1]

# 結果を確認
print(fruits)  # ['りんご', 'みかん']

特徴

  • 番号は0から始まります(0番目、1番目、2番目…)
  • delPythonの文で、何も返しません

まとめて削除する方法(スライス削除)

例1:連続する複数の要素を削除

# 数字のリストを作成
numbers = [0, 1, 2, 3, 4, 5]

# 2番目から4番目まで削除(2, 3, 4を削除)
del numbers[2:5]

# 結果を確認
print(numbers)  # [0, 1, 5]

例2:とびとびで削除

# データのリストを作成
data = [0, 1, 2, 3, 4, 5]

# 偶数番目を削除(0番目、2番目、4番目)
del data[::2]

# 結果を確認
print(data)  # [1, 3, 5]

ポイント: スライス削除を使うと、複数の要素を一度に削除できて便利です。


リスト全体を削除する方法

パターン1:リスト変数そのものを削除

# リストを作成
a = [1, 2, 3]

# リスト変数を削除
del a

# print(a)  # エラー!(aがもう存在しない)

パターン2:リストの中身だけを空にする

# リストを作成
a = [1, 2, 3]

# 中身だけ削除(空のリストにする)
del a[:]

# 結果を確認
print(a)  # []

clear()メソッドとの違い

# clear()も同じ効果
a = [1, 2, 3]
a.clear()  # del a[:] と同じ
print(a)  # []

他の削除方法との違いと使い分け

4つの削除方法を比較

方法指定方法削除できる数戻り値
del リスト[番号]番号1つまたは複数なし
pop(番号)番号1つだけ削除した値
remove(値)1つだけなし
clear()なし全部なし

使い分けのコツ

  • 値で削除したいremove()
  • 番号で削除したいdelまたはpop()
  • 削除した値を使いたいpop()
  • 複数まとめて削除したいdel

比較例

# 数字のリストを作成
nums = [10, 20, 30, 40, 50]

# 値で削除
nums.remove(30)  # 30という値を削除
print(nums)  # [10, 20, 40, 50]

# 番号で削除(戻り値あり)
deleted = nums.pop(1)  # 1番目を削除して値を取得
print(f"削除した値:{deleted}")  # 削除した値:20
print(nums)  # [10, 40, 50]

# 番号で削除(戻り値なし)
del nums[0]  # 0番目を削除
print(nums)  # [40, 50]

delを使うときの注意点

エラー1:存在しない番号を指定する

# リストを作成
items = [1, 2, 3]

# 存在しない5番目を削除しようとする
del items[5]  # エラー!(IndexError)

対策: 削除する前に、その番号があるかチェックする

# 安全な削除方法
if len(items) > 5:
    del items[5]
else:
    print("その番号は存在しません")

注意点2:リストの中にリストがあるとき

# 2次元リストを作成
matrix = [[1, 2], [3, 4]]

# 0番目のリストの1番目を削除
del matrix[0][1]  # 2を削除

# 結果を確認
print(matrix)  # [[1], [3, 4]]

実際に使える例

例1:成績リストから不要な点数を削除

# テストの点数リスト
scores = [85, 92, 78, 95, 88]

# 一番低い点数(78)の番号を見つけて削除
min_index = scores.index(min(scores))
del scores[min_index]

print(f"最低点を除いた点数:{scores}")  # [85, 92, 95, 88]

例2:ユーザーが指定した範囲を削除

# データリストを作成
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# ユーザーに削除範囲を聞く
start = int(input("削除開始番号:"))
end = int(input("削除終了番号:"))

# 範囲をチェックして削除
if 0 <= start < len(data) and 0 <= end <= len(data) and start < end:
    del data[start:end]
    print(f"削除後のデータ:{data}")
else:
    print("正しい範囲を入力してください")

まとめ

Pythonのdel文は、番号を使った削除や、まとめて削除ができる便利な機能です。

他の削除方法と上手に使い分けることで、より効率的なプログラムが書けるようになります。

この記事のポイント

  • del リスト[番号]で特定の要素を削除
  • del リスト[開始:終了]で範囲削除が可能
  • del リスト[:]で中身全削除(clear()と同じ)
  • del リストで変数そのものを削除
  • remove()pop()との違いを理解して使い分けよう

コメント

タイトルとURLをコピーしました