要素を削除する Python LIST [クリア、ポップ、削除、del]

⚡ スマートサマリー

要素を削除する Python list は、remove()、pop()、clear() という 3 つの組み込みメソッドと、del キーワードに依存しており、それぞれ値、インデックス、またはリスト全体をその場でクリアすることで項目を指定できます。

  • 🔘 remove() メソッド: remove() は、指定された値に一致する最初の要素を削除し、その値が存在しない場合は ValueError を発生させます。
  • ☑️ pop() メソッド: pop() は指定されたインデックスにある項目を削除して返します。インデックスが指定されていない場合は、デフォルトで最後の要素が返されます。
  • キーワードを削除: `del` キーワードは、インデックスを指定して項目またはスライス全体を削除するほか、リスト変数自体を削除することもできます。
  • 🧪 clear() メソッド: clear() はリストをその場で空にし、既存の長さゼロのリストを残します。
  • 🛠️ 値と指数の比較: 値が分かっている場合は remove() を、位置が分かっている場合は pop() または del を使用してください。
  • 🤖 AIワークフロー: 機械学習におけるデータクリーニングは、モデル学習の前に内包表記を用いてリストから不要なサンプルを削除します。

要素を削除する Python リスト

Python リストデータ型は、異なるデータ型の項目を順序付けて格納するのに役立ちます。データは角括弧([])で囲まれ、値はカンマ(,)で区切られます。

In Pythonリストデータ型には、リストから要素を削除するのに役立つ多くのメソッドがあります。メソッドは次のとおりです。 削除()、ポップ() (NAIST) と 晴れ().

リストメソッド以外にも、 インクルード リストから項目を削除するキーワード。

リストの例

my_list = ['Guru', 50, 11.50, 'Siya', 50, ['A', 'B', 'C']]

インデックスは0から始まります。リストmy_listでは、0番目のインデックスに文字列'があります。Guru'。

  • インデックス1では、整数である50という数値が得られます。
  • インデックス:2 では、浮動小数点数 11.50 が得られます。
  • インデックス:3 には、文字列「Siya」があります。
  • インデックス:4 で、数値 50 が重複していることがわかります。
  • インデックス:5 で、値 A、B、および C を含むリストが取得されます。

Python 削除() メソッド

remove() メソッドは、リストに組み込まれているメソッドです。リストから最初に見つかった一致する要素を削除するのに役立ちます。

構文:

list.remove(element)

リストから削除する要素。

戻り値

このメソッドには戻り値はありません。

remove() メソッドを使用する際のヒント

remove() メソッドを使用する際に覚えておくべき重要なポイントは以下のとおりです。

  • リストに重複した要素がある場合、指定された要素に一致する最初の要素がリストから削除されます。
  • 指定された要素がリストに存在しない場合は、その要素がリストにないことを示すエラーがスローされます。
  • remove() メソッドは値を返しません。
  • remove() メソッドは値を引数として受け取るため、値は正しいデータ型で渡す必要があります。

例:remove() メソッドを使用してリストから要素を削除する

以下は私が持っているサンプルリストです。

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

リストには、文字列型と数値型の要素が含まれています。リストには、数値の12や文字列のRiyaなど、重複する要素が含まれています。

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']
my_list.remove(12) # it will remove the element 12 at the start.
print(my_list)
my_list.remove('Riya') # will remove the first Riya from the list
print(my_list)
my_list.remove(100)  #will throw an error
print(my_list)

出力:

['Siya', 'Tiya', 14, 'Riya', 12, 'Riya']
['Siya', 'Tiya', 14, 12, 'Riya']
Traceback (most recent calllast):
File "display.py", line 9, in <module>
    my_list.remove(100)
ValueError: list.remove(x): x not in the list

Python Pop() メソッド

Pop() メソッドは、指定されたインデックスに基づいてリストから要素を削除します。

構文

list.pop(index)

Index: Pop() メソッドには、index という引数が XNUMX つだけあります。

  • リストから要素を削除するには、その要素のインデックスを指定する必要があります。インデックスは0から始まります。リストの最初の要素を取得するには、インデックスに0を指定します。最後の要素を削除するには、インデックスに-1を指定します。
  • インデックス引数はオプションです。 渡されない場合、デフォルト値は -1 とみなされ、リストの最後の要素が返されます。
  • 指定されたインデックスが存在しないか、範囲外の場合、pop() メソッドは次のようなエラーをスローします。 IndexError: インデックスをポップします。

戻り値

Pop() メソッドは、指定されたインデックスに基づいて削除された要素を返します。 最終的なリストも更新され、要素は含まれません。

例:pop() メソッドを使用してリストから要素を削除する

例で使用するリストは、my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya'] です。

次の方法に基づいて、pop() メソッドを使用して要素を削除してみましょう。

  • インデックスをつけることで
  • インデックスなし
  • 範囲外のインデックスを渡しました。

ここで、削除しています ティヤ リストから。インデックスは0から始まるので、 ティヤ 2です。

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

#By passing index as 2 to remove Tiya
name = my_list.pop(2)
print(name)
print(my_list)

#pop() method without index – returns the last element
item = my_list.pop()
print(item)
print(my_list)

#passing index out of range
item = my_list.pop(15)
print(item)
print(my_list)

出力:

Tiya
[12, 'Siya', 14, 'Riya', 12, 'Riya']
Riya
[12, 'Siya', 14, 'Riya', 12]
Traceback (most recent calllast):
File "display.py", line 14, in <module>
item = my_list.pop(15)
IndexError: popindex out of range

Python clear() メソッド

clear() メソッドは、リストに存在するすべての要素を削除します。

構文:

list.clear()

パラメーター:

パラメータはありません。

戻り値

戻り値はありません。リストは clear() メソッドを使用して空になります。

例:clear() メソッドを使用してリストからすべての要素を削除する

clear() メソッドは、指定されたリストを空にします。 以下の例で、clear() の動作を見てみましょう。

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

#Using clear() method
element = my_list.clear()
print(element)
print(my_list)

出力:

None
[]

del キーワードを使用する

リストから要素を削除するには、 インクルード キーワードの後に​​リストが続きます。 要素のインデックスをリストに渡す必要があります。 インデックスは 0 から始まります。

構文:

del list[index]

を使用して、リストから要素の範囲をスライスすることもできます。 インクルード キーワード。del キーワードにリストからの開始/終了インデックスを指定すると、その範囲内の要素が削除されます。構文は次のとおりです。

構文:

del list[start:stop]

以下は、リストから最初の要素、最後の要素、および複数の要素を削除する方法を示す例です。 インクルード.

my_list = list(range(15))
print("The Original list is ", my_list)

#To remove the firstelement
del my_list[0]
print("After removing first element", my_list)

#To remove last element
del my_list[-1]
print("After removing last element", my_list)

#To remove element for given index : for example index:5
del my_list[5]
print("After removing element from index:5", my_list)

#To remove last 2 elements from the list
del my_list[-2]
print("After removing last 2 elements", my_list)

#To remove multiple elements
delmy_list[1:5]
print("After removing multiple elements from start:stop index (1:5)", my_list)

#To remove multiple elements
del my_list[4:]
print("To remove elements from index 4 till the end (4:)", my_list)

出力:

The Originallist is  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
After removing first element [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
After removing last element [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
After removing element from index:5 [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13]
After removing last 2 elements [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13]
After removing multiple elements from start:stop index (1:5) [1, 7, 8, 9, 10, 11, 13]
To remove elements from index 4 till the end (4:) [1, 7, 8, 9]

リストから最初の要素を削除するにはどうすればよいですか?

次のようなリストメソッドを使用できます 削除()、ポップ() リストから最初の要素を削除します。remove() メソッドの場合は削除する最初の要素を渡す必要があり、pop() メソッドの場合はインデックス (つまり 0) を渡す必要があります。

また、 インクルード キーワードを使用して、リストから最初の要素を削除します。

以下の例は、remove()、pop()、del を使用してリストから最初の要素を削除する方法を示しています。

my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("The Originallist is ", my_list1)
#Using remove() to remove first element
my_list1.remove('A')
print("Using remove(), the final list is ", my_list1)

my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("The Originallist is ", my_list1)
#Using pop() to remove the first element
element = my_list1.pop(0)
print("The first element removed from my_list1 is ", element)
print("Using pop(), the final list is ", my_list1)

#Using del to remove the first element
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
del my_list2[0]
print("Using del, the final list is ", my_list2)

出力:

The Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using remove(), the final list is  ['B', 'C', 'D', 'E', 'F']
The Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
The first element removed from my_list1 is  A
Using pop(), the final list is  ['B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['B', 'C', 'D', 'E', 'F']

リストから複数の要素を削除するにはどうすればいいですか? Python?

リストのメソッド remove() と pop() は、単一の要素を削除することを目的としています。複数の要素を削除するには、 インクルード キーワード。

リスト ['A', 'B', 'C', 'D', 'E', 'F'] から要素 B、C、D を削除したい。以下の例は、 インクルード 要素を削除するキーワード。

#Using del to remove the multiple elements from list
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list2)
del my_list2[1:4]
print("Using del, the final list is ", my_list2)

出力:

Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['A', 'E', 'F']

インデックスを使用してリストから要素を削除するにはどうすればいいですか? Python?

インデックスに基づいて要素を削除するには、リストのメソッド pop() を使用できます。 インクルード キーワードは、特定のインデックスの要素を削除するのに役立ちます。

#Using del to remove the multiple elements from list
my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list1)
element = my_list1.pop(2)
print("Element removed for index: 2 is ", element)
print("Using pop, the final list is ", my_list1)

#Using del to remove the multiple elements from list
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list2)
del my_list2[2]
print("Using del, the final list is ", my_list2)

出力:

Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Element removed for index: 2 is  C
Using pop, the final list is  ['A', 'B', 'D', 'E', 'F']
Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['A', 'B', 'D', 'E', 'F']

よくあるご質問

remove() は、指定された値に一致する最初の要素を削除します。pop() は、インデックスを指定して項目を削除し、その項目を返します。del は、インデックスを指定して項目またはスライスを削除しますが、何も返しません。値または位置がわかっているかどうかに応じて、どちらを使用するかを選択してください。

remove() は最初に一致した要素のみを削除するため、[x for x in my_list if x != value] のようなリスト内包表記を使用してください。これにより、一致する要素がなくなった状態でリストが再構築され、残りの要素の順序はそのまま維持されます。

リストを順方向に反復処理しながら変更すると、要素がスキップされます。コピーを反復処理するか、逆方向にループするか、または内包表記を使用して新しいリストを作成してください。内包表記を使用する方法が最も読みやすく、インデックスシフトによるバグを完全に回避できます。

clear() はリストをその場で空にしますが、ping 変数と、同じ空になったリストを指すすべての参照を削除します。`del my_list` は変数を完全に削除するため、その後参照すると NameError が発生します。

remove()、pop()、clear()、del はすべてリストをその場で変更します。pop() のみが削除された要素を返します。他の関数は None または何も返しません。一方、リスト内包表記は別の新しいリストを作成し、元のリストは変更しません。

remove() 関数を繰り返し呼び出すと、呼び出しごとにリストを再スキャンする必要があるため、処理が遅くなります。単一のリスト内包表記または filter() 関数を使用してリストを再構築すると、1回の処理で済み、多くの値を削除する大規模なリストでもはるかに高速になります。

機械学習のためのデータ準備では、多くの場合、リストから不要なサンプル、外れ値、または無効なラベルを削除してから配列に変換します。内包表記やpandasを使った適切な削除処理により、トレーニングデータの一貫性が保たれ、モデルの結果が偏るのを防ぐことができます。

はい。GitHub Copilotとエージェント型AIアシスタントは、プレーンなコメントからremove()、pop()、del、および内包表記に基づくコードを生成し、状況に応じて最も安全なオプションを提案し、ループをリファクタリングします。ただし、欠損値などのエッジケースについては、引き続きテストを行う必要があります。