Pythonの空のリストチュートリアル–Pythonで空のリストを作成する方法

Pythonで空のリストを効率的に作成する方法を学びたい場合は、この記事が役に立ちます。

あなたは学びます:

  • 角かっこを使用して空のリストを作成する方法[]
  • を使用して空のリストを作成する方法list()
  • それらのユースケース。
  • それらがどれほど効率的か(一方が他方よりも速い!)。timeitモジュールを使用してそれらを比較します。

さぁ、始めよう!✨

🔹角かっこを使用する

次のように、角かっこが空のペアで空のリストを作成できます。  

💡ヒント:空のリストを変数に割り当てて、後でプログラムで使用できるようにします。

例えば:

num = []

0ここで確認できるように、空のリストの長さは次のようになります。

>>> num = [] >>> len(num) 0

空のリストは偽の値です。つまりFalse、ブール値のコンテキストで評価されます。

>>> num = [] >>> bool(num) False

空のリストに要素を追加する

メソッドappend()insert():を使用して、空のリストに要素を追加できます。

  • append() リストの最後に要素を追加します。
  • insert() 選択したリストの特定のインデックスに要素を追加します。

リストは、評価時に空であるかどうかに応じて、真の値または偽の値になる可能性があるため、次のような条件で使用できます。

if num: print("This list is not empty") else: print("This list is empty")

このコードの出力は次のとおりです。

This list is empty

リストが空だったため、Falseと評価されます。

一般に:

  • リストが空でない場合は、と評価されるTrueため、if句が実行されます。
  • リストが空の場合、リストはに評価されるFalseため、else句が実行されます。

例:

以下の例では、空のリストを作成し、それを変数に割り当てますnum。次に、forループを使用して、最初は空だった一連の要素(整数)をリストに追加します。

>>> num = [] >>> for i in range(3, 15, 2): num.append(i)

変数の値をチェックして、アイテムが正常に追加されたかどうかを確認し、リストが空ではなくなったことを確認します。  

>>> num [3, 5, 7, 9, 11, 13]

💡ヒント:通常append()、最初の要素を空のリストに追加するために使用しますがinsert()、インデックスを使用してメソッドを呼び出してこの要素を追加することもできます0

>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]

🔸list()コンストラクターの使用

または、型コンストラクターを使用して空のリストを作成することもできlist()ます。これにより、新しいリストオブジェクトが作成されます。

Pythonドキュメントによると:

引数が指定されていない場合、コンストラクターは新しい空のリストを作成します[]

💡ヒント:これにより、メモリ内に新しいリストオブジェクトlist()が作成されます。引数を渡さなかったため、空のリストが作成されます。

例えば:

num = list()

この空のリストの長さは0、次のようになります。

>>> num = list() >>> len(num) 0

そして、それが空の場合は偽の値です(Falseブール値のコンテキストで評価されます):

>>> num = list() >>> bool(num) False

例:

これは完全に機能するリストなので、要素を追加できます。

>>> num = list() >>> for i in range(3, 15, 2): num.append(i)

そして、ここで見ることができるように、結果は空でないリストになります:

>>> num [3, 5, 7, 9, 11, 13]

🔹ユースケース

  • 通常list()、文字列、辞書、タプルなどの既存の反復可能配列からリストを作成するために使用します。
  • []この構文はより簡潔で高速であるため、Pythonで空のリストを作成するために角括弧が使用されているのが一般的です。

🔸効率

待つ!私はちょうどあなたにそれ[]がより速いと言いましたlist()...

しかし、どれくらい速いのでしょうか?

timeitモジュールを使用して時間効率を確認しましょう。

このモジュールをPythonプログラムで使用するには、次のモジュールをインポートする必要があります。

>>> import timeit

具体的には、このモジュールのtimeit関数を使用します。これは、次の構文で呼び出すことができます。

💡ヒント:コードは数回繰り返され、その特定の瞬間に実行されている可能性のある他のプロセスなどの外部要因から発生する可能性のある時間差を減らします。これにより、比較のために結果の信頼性が高まります。

🚦あなたのマークに...準備をしなさい...準備をしなさい!コードと出力は次のとおりです。

まず、モジュールをインポートします。

>>> import timeit

次に、各構文のテストを開始します。

テスト[]

>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692

テストlist()

>>> timeit.timeit('list()', number=10**4) 0.002867799999989984

💡ヒント:時間を計りたいコードは、一''重引用符または二重引用符で囲む必要があることに注意してください""timeit関数によって返される時間は秒で表されます。

これらの結果を比較します。

  • []0.0008467000000109692
  • list()0.002867799999989984

[]よりもはるかに高速であることがわかりlist()ます。0.002このテストでは、約秒の違いがありました。

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

私はあなたが今これを尋ねているに違いないと確信しています:彼らがまったく同じことをする場合list()よりもなぜ効率が悪いの[]ですか?

まあ...list()それはそれを呼び出し、関数の名前を検索して、メモリ内のリストオブジェクトを作成する必要があるため遅くなります。対照的に、[]メモリ内にリストを作成するためにそれほど多くの中間ステップを必要としない「ショートカット」のようなものです。

この時差はプログラムのパフォーマンスにはあまり影響しませんが、どちらがより効率的で、舞台裏でどのように機能するかを知っておくと便利です。

🔹まとめ

空の角括弧のペア[]または型コンストラクターを使用して空のリストを作成できますlist()。これは、引数が渡されないときに空のリストを作成する組み込み関数です。

角かっこ[]は、より高速で簡潔なため、Pythonで空のリストを作成するために一般的に使用されます。

あなたが私の記事を気に入ってくれて、それがお役に立てば幸いです。これで、Pythonプロジェクトに空のリストを作成できます。私のオンラインコースをチェックしてください。Twitterでフォローしてください。⭐️

リストをさらに深く掘り下げたい場合は、以下をお読みください。

  • Pythonリストの追加–配列に要素を追加する方法、例を使用して説明
  • Pythonのソートリスト配列メソッド–例で説明されている昇順と降順
  • Pythonリスト追加VSPythonリスト拡張–配列メソッドの例で説明されている違い