Python リストの要素を削除 (del, pop, remove, clear) | プログラミング学習 初心者向け入門ガイド

ホーム › >>

Python リストの要素を削除 (del, pop, remove, clear)

記事掲載:https://laptrinhcanban.com/ja

Pythonリストの要素を削除するすべての方法のチュートリアル。インデックスによってリストから要素を削除する、指定された値を持つ要素を削除する、範囲で Python リストから要素を削除する、またはリスト内の要素全体を削除するなど、Python リストから要素を削除するすべての方法を学習します。このレッスンの後に、 del ステートメント、pop() メソッド、remove()メソッド、およびclear()メソッドを使用したメソッドを使用します。

Python リストの要素を削除するには、次の 5 つの方法があります。

  • pop() メソッド: インデックスによるリストの要素の取得と削除
  • list remove in python: 指定された値と同じリスト内の最初の要素を削除します
  • del ステートメント: 指定された範囲内の要素を削除します
  • clear() メソッド: すべての要素を削除します
  • Pythonでのリスト内包表記:条件によって要素を削除する

尚、Python リストから重複した要素を削除したい場合は、Python リストから重複を削除するの記事を参照してください。

インデックスによってリストの要素を取得および削除 | pop() メソッド

pop() メソッドは要素を削除し、指定されたインデックス位置のリストから削除します

削除する要素のインデックスを pop() メソッドの引数として指定し、次の構文を使用してリストから要素を削除します。

list. pop( index )

ここで、listは要素を削除したいリストで、 indexは削除する要素のインデックスです。

例えば:

mylist = ['red', 'blue', 'yellow', 'black']
print(mylist)
#>> ['red', 'blue', 'yellow', 'black']

popped1 = mylist.pop(2)
print(popped1)
#>> yellow

print(mylist)
#>> ['red', 'blue', 'black']

インデックスを-1で指定すると、次のようにリストの最後の要素を削除することもできます。

mylist = ['red', 'blue', 'yellow', 'black']
popped1 = mylist.pop(-1)
print(mylist)
#>> ['red', 'blue', 'yellow']

次のように pop() 関数で index 引数を省略して、リストの最後の要素を削除することもできます。

mylist = ['red', 'blue', 'yellow', 'black']
popped1 = mylist.pop()
print(mylist)
#>> ['red', 'blue', 'yellow']

pop() メソッドを使用する場合、指定されたインデックス引数がリストに存在しない場合、IndexError が発生することに注意してください。

mylist = ['red', 'blue', 'yellow', 'black']
popped1 = mylist.pop(5)

#>> IndexError: pop index out of range

指定された範囲内の要素を削除します | delステートメント

del ステートメントは、リスト内の指定された範囲内の要素を削除するのに役立ちます。この範囲はPythonのスライスリスト機能の使い方で指定します。

次の 2 種類の構文で、python で del ステートメントを使用し、pythonで リストから要素を削除できます。

指定したインデックスでリストから要素を削除:

del list [ index ]

指定した範囲内の複数の要素を削除:

del list [ start : end]

たとえば、次のように del ステートメントを使用して、python リストから要素を削除できます。

mylist = ['red', 'blue', 'yellow', 'black']
print(mylist)
#>> ['red', 'blue', 'yellow', 'black']

del mylist[2]
print(mylist)
#>> ['red', 'blue', 'black']

del mylist[3]
print(mylist)
#>> ['red', 'black']

または、次のように del ステートメントを使用して、Pythonで指定された範囲内の要素を削除できます。

mylist = ['red', 'blue', 'yellow', 'black']
print(mylist)
#>> ['red', 'blue', 'yellow', 'black']

del mylist[1:3]
print(mylist)
#>> ['red', 'black']

次のように、del ステートメントを使用して、Python リスト内のすべての要素を削除することもできます。

mylist = ['red', 'blue', 'yellow', 'black']
del mylist[:]
print(mylist)
#>> []

尚、python スライス リストで step を使用すると、次のように del ステートメントでpython リスト内の要素をジャンプして削除できます。

l = list(range(10))
del l[2:8:2]
print(l)
# [0, 1, 3, 5, 7, 8, 9]

l = list(range(10))
del l[::3]
print(l)
# [1, 2, 4, 5, 7, 8]

指定された値と同じリスト内の最初の要素を削除します | remove()メソッド

Python の remove()メソッドは指定された引数と同じ値を持つリスト内の最初の要素を見つけて、リストから削除するために使用されるメソッドです。

次の構文で Python の remove() メソッドを使用します。

list.remove(value)

そこで、listは要素を削除するリストであり、valueはリストから削除する要素の値です。

たとえば、Python で list remove を使用して、次のようにリストから要素を削除します。

mylist = ['red', 'blue', 'yellow', 'black' , 'blue']
print(mylist)
#>> ['red', 'blue', 'yellow', 'black', 'blue']

mylist.remove('yellow')
print(mylist)
#>> ['red', 'blue', 'black', 'blue']

remove() メソッドは、最初の要素が存在する場合にのみ、リスト内の左から右に最初の要素を削除することに注意してください。例えば:

mylist = ['red', 'blue', 'yellow', 'black' , 'blue']
print(mylist)
#>> ['red', 'blue', 'yellow', 'black', 'blue']

mylist.remove('blue')
print(mylist)
#>> ['red', 'yellow', 'black', 'blue']

ここでも、指定された値がリストに存在しない場合、ValueError が発生します。

mylist = ['red', 'blue', 'yellow', 'black']
mylist.remove('gray')

#>> ValueError: list.remove(x): x not in list

Pythonリストのすべての要素を削除 | clear()メソッド

clear() メソッドは、リスト内のすべての要素を削除し、リストを空にします。
次の構文で、Python で clear() メソッドを使用します。

list.clear()

リスト内のすべての要素が削除されますが、リスト オブジェクト自体は削除されず、空になるだけであることに注意してください。

例えば:

mylist = ["A","B","C"]

mylist.clear()
print(mylist)
#>> []

条件によってPythonリストの要素を削除

Pythonのリスト内包表記を適用して、Python リストから要素を削除できます。条件に応じて要素を削除すると言われていますが、実際には古いリストを削除するのではなく、古いリストから与えられた条件に応じた要素を取得し、削除する要素を含まない新しいリストを作成します。 .

たとえば、数列の奇数を削除したい場合、次のようにリスト内包表記を使用します。

mynum = list(range(10))
print(mynum)
#>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

delete_odd = [num for num in mynum if num % 2 = 0]
print(delete_odd)
#>> [0, 2, 4, 6, 8]

delete_even = [num for num in mynum if num % 2 = 1]
print(delete_even)
#>> [1, 3, 5, 7, 9]

文字列でも同じことができます。

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'David']

print([s for s in l if s != 'Bob'])
# ['Alice', 'Charlie', 'David']

print([s for s in l if s.endswith('e')])
# ['Alice', 'Charlie']

リストの重複要素を削除 | set() 関数

通常、次の例で set() 関数を使用して、python list で重複する要素を削除する方法がたくさんあります。

mylist = ['red', 'blue', 'yellow', 'black' , 'blue']
unique_list=list(set(mylist))
print(unique_list)
#>> ['blue', 'red', 'black', 'yellow']

set() 関数やその他の方法を使用して Python リストから重複した要素を削除する方法の詳細については、Python リストから重複した要素を削除の記事を参照してください。

まとめ

上記 Kiyoshi は、すでにPython リストの要素を削除する方法をすべて示しています。レッスンの内容をよりよく理解するために、今日の例を書き直す練習をしてください。

そして、次のレッスンで Python の知識についてさらに学びましょう。

URL Link

https://laptrinhcanban.com/ja/python/nhap-mon-lap-trinh-python/list-trong-python/xoa-phan-tu-trong-list-python/

この記事は役立つと思ったらいいね!とシェアをお願いします
">

ホーム  › >>

Profile
きよしです!笑

Author: Kiyoshi (Chis Thanh)

Kiyoshi was a former international student in Japan. After graduating from Toyama University in 2017, Kiyoshi is currently working as a BrSE in Tokyo, Japan.