多次元リストの生成
2010/8/14
Python2.5.4
リストの宣言
ls = []
x個の要素のリストがy個ある2次行列の生成
ls2d = [[0 for i in range(x)] for j in range(y)]
行(高さ), 列(幅), 色(チャンネル)の3次元リストの例
ls3d = [[[0 for i in range(ch)] for j in range(w)] for k in range(h)]
任意の次元のリストを作成する関数
import copy
def multi_list(*element_nums):
dim = len(element_nums)
data = [0 for j in range(element_nums[dim-1])]
for i in range(2,dim+1):
data = [ copy.deepcopy(data) for j in range(element_nums[dim-i])]
return data
ls4d = multi_list(1,2,3,4)
# [[[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]]]