Python でリストをクリアする

Rayven Esplanada 2023年1月30日
  1. Python で clear() を使用してリストをクリアする
  2. Python で空のリスト値を設定してリストをクリアする
  3. Python でリストをクリアするには、del とスライス演算子:を使用する
  4. リスト全体に 0 を掛けて Python でリストをクリアする
Python でリストをクリアする

このチュートリアルでは、Python でリストをクリアするさまざまな方法を示します。

Python で clear() を使用してリストをクリアする

Python でリストをクリアする最も簡単で明白な方法は、Python リスト内で事前定義されたメソッドである clear() メソッドを使用することです。

たとえば、整数値でリストを初期化し、clear() 関数を使用してすべての値を消去します。

lst = [1, 6, 11, 16]
print(lst)
lst.clear()
print(lst)

出力:

[1, 6, 11, 16]
[]
注意
これは Python でリストをクリアするための迅速で簡単なソリューションですが、これは Python バージョン 3.3 以降とのみ互換性があります。

Python で空のリスト値を設定してリストをクリアする

既存のリスト変数をクリアする別の方法は、空の角括弧 [] のペアを使用して、空のリストを変数に設定することです。

lst = [1, 6, 11, 16]
print(lst)

lst = []
print(lst)

出力:

[1, 6, 11, 16]
[]

これはリストをクリアする簡単な仕事もしますが、これはメモリからリストの値を削除しません。代わりに、リストの新しいインスタンスを作成し、新しく作成されたインスタンスを指します。

他の変数がリスト変数の以前の値を指していなければ、それらの変数は到達不能であり、ガベージコレクションの対象になります。

この状況は、2つの変数が同じリストを指すようにし、後でそれらの変数の 1つを空のリストに設定すると明らかになります。

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst = []
print(lst)
print(lst2)

出力:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[1, 6, 11, 16]

2 番目のリスト lst2lst の値に設定されましたが、新しい lst 値を空のリストに設定した後でも、リスト lst2 は以前の古い値を保持しています。この場合、それを指す変数がまだあるため、前の値はガベージコレクションの対象にはなりません。

Python でリストをクリアするには、del とスライス演算子:を使用する

Python キーワード del は、メモリ内のオブジェクトとその参照を完全に削除するために使用されます。del キーワードは、Python オブジェクト、反復可能オブジェクト、リストの一部などを削除するために使用されます。

Python のコロン演算子:は、2つの整数引数を受け入れる部分に配列をスライスするために使用される演算子です。

:演算子は、削除するリストの実際の参照を取得するために使用されます。

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

del lst[:]
print(lst)
print(lst2)

del キーワードを使用せずにこれと同じことを行う別の解決策は、リストを空のリストとして設定し、:演算子を使用して前の参照を空のリストに置き換えることです。

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst[:] = []
print(lst)
print(lst2)

両方のソリューションの出力は次のとおりです。

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[]

前の例から、既存のリスト変数を空のリストに設定しても、実際には前の値が削除されないことに注意してください。このソリューションは、他の変数がメインリスト内の値の同じ参照を指している場合でも、以前の値を完全に削除します。

リスト全体に 0 を掛けて Python でリストをクリアする

リストをクリアする最も簡単な方法は、リスト全体に 0 を掛けることです。リスト変数自体に 0 を掛けると、リストがクリアされ、メモリ内の以前の参照がクリアされます。

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst *= 0
print(lst)
print(lst2)

出力:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[]

この方法は、前述のすべてのソリューションの中で最もパフォーマンスの高いソリューションです。

要約すると、リストをクリアする最も明白な方法は、リストで組み込みの clear() 関数を使用することですが、最も迅速に実行できる解決策は、リスト変数に値 0 を掛けることです。

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

関連記事 - Python List