Sunday, March 27, 2005

Python で 固定長配列

Python で固定長配列を作る方法
http://www.python.jp/pipermail/python-ml-jp/2003-July/002386.html
より


0で初期化された固定長配列
array= [0] * 100

0で初期化された2次元の固定長配列 (10×10)
array= [[0] * 10] * 10


いままで for ループでappendしていた自分が恥ずかしい。

1 Comments:

Blogger SubaruG said...

二次元配列を作るのに
array = [[0]*10]*10
と書いた場合, a[0] と a[1] は同じリストになってしまうので,例えば
a[0][1] = 1
と書くと, a[1][1] や a[5][1] も更新されてしまいます.

なので, 0 に初期化された二次元配列を作りたい場合,何らかの工夫が必要ですね.
ちなみに僕は,リスト内包表記を使って
array = [ [0] * 10 for _ in range( 0, 10 ) ]
と書いてます.

3:49 PM  

Post a Comment

<< Home