Python で初期値を持つリストやタプルは次のように作成することができます。
l = [0, 1, 2] # リストの作成
t = (0, 1, 2) # タプルの作成
この初期値の後ろに *
演算子で数値指定を行うと、その数だけ値を繰り返したリストやタプルを生成することができます。
l1 = [0] * 5 #=> [0, 0, 0, 0, 0]
l2 = [0, 1, 2] * 2 #=> [0, 1, 2, 0, 1, 2]
l3 = [set()] * 3 #=> [set(), set(), set()]
タプルもリストと同様ですが、要素数が 1 のタプルを生成する場合は、カンマを付けるのを忘れないようにしてください(優先順位を指定する括弧として処理されないようにするためです)。
t1 = (0,) * 5 #=> (0, 0, 0, 0, 0)
t2 = (0, 1, 2) * 2 #=> (0, 1, 2, 0, 1, 2)
t3 = (set(),) * 3 #=> (set(), set(), set())
ちなみに、次のように空リストや空タプルを繰り返しても、要素は空っぽのまま(サイズ=0)です。
l = [] * 10 #=> []
t = () * 10 #=> ()
print(len(l)) #=> 0
print(len(t)) #=> 0
空の要素を繰り返しても空っぽのままということですね。