Python で 0 で初期化したリストを作成する

Manav Narula 2023年1月30日
  1. Python で演算子 * を使用して 0 で初期化したリストを作成する
  2. Python で 0 で初期化したリストを作成するには itertools.repeat() 関数を使用する
  3. for ループを使用して 0 で初期化したリストを作成する
Python で 0 で初期化したリストを作成する

このチュートリアルでは、Python で 0 で初期化したリストを作成する方法を紹介します。

Python で演算子 * を使用して 0 で初期化したリストを作成する

演算子 * を用いてリストを n 個の数で倍数化すると、元のリストの n 倍の新しいリストが返されます。このメソッドを使うと、以下のように指定した長さのゼロを含むリストを簡単に作成することができます。

lst = [0] * 10
print(lst)

出力:

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

このメソッドが最もシンプルで最速であることに注意してください。

Python で 0 で初期化したリストを作成するには itertools.repeat() 関数を使用する

itertools モジュールはイテレータの作業を容易にします。このモジュールの repeat() 関数は、指定した回数だけ値を繰り返すことができます。この関数を用いて、list() 関数と併用することで、必要な長さのゼロのみを含むリストを作成することができます。例えば、

import itertools

lst = list(itertools.repeat(0, 10))
print(lst)

出力:

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

for ループを使用して 0 で初期化したリストを作成する

このようなリストを生成するには、for ループを用いることができます。range 関数を用いてリストの開始位置と停止位置を設定します。そして、list() 関数内で必要な回数だけゼロの反復処理を行う。このような一行のコードを反復処理してリストを生成することをリスト内包表記と呼ばれます。以下のコードはこれを実装し、必要なリストを生成します。

lst = list(0 for i in range(0, 10))
print(lst)

あるいは、リストを生成します。

lst = [0 for i in range(0, 10)]
print(lst)

出力:

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

このメソッドは、巨大なリストを生成するときには、これらのメソッドの中で最も遅いことに注意してください。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python List