• 参考
    [python] 二维数组的正确生成方法
  • 代码
def test():

	# 一维 元素为零
    x = [0] * 5
    # [0, 0, 0, 0, 0]

	# 三维
    x1 = [[1]*3 for i in range(3)]
    # [ [1, 1, 1], 
    #   [1, 1, 1], 
    #   [1, 1, 1] ]
    x2 = [[2]*3 for i in range(3)]
	# [ [2, 2, 2], 
	#   [2, 2, 2], 
	#   [2, 2, 2] ]
	
	# 三维 空数组
    x3 = [[0]*0 for i in range(3)]
    x4 = [[0]*0 for i in range(3)]
    # [ [], 
    #   [], 
    #   [] ]

	# 三维 向量为零
    x5 = [[0]*3 for i in range(3)]
    x6 = [[0]*3 for i in range(3)]
    # [ [0, 0, 0], 
    #   [0, 0, 0], 
    #   [0, 0, 0] ]

	# extend与append的区别
	# extend:将[1, 1, 1]作为三个元素添加
	# append:将[1, 1, 1]作为一个元素添加
    for i in range(0,3):
    	# 将x1、x2对应行向量合并为x3
        x3[i].extend(x1[i])
        x3[i].extend(x2[i])
        # [ [1, 1, 1, 2, 2, 2], 
        #   [1, 1, 1, 2, 2, 2], 
        #   [1, 1, 1, 2, 2, 2] ]

		# 将x1、x2对应行向量添加到x4
        x4[i].append(x1[i])
        x4[i].append(x2[i])
        # [ [ [1, 1, 1], [2, 2, 2] ] , 
        #   [ [1, 1, 1], [2, 2, 2] ] , 
        #   [ [1, 1, 1], [2, 2, 2] ]  ]

		# 将x1、x2对应行向量合并到x5
        x5[i].extend(x1[i])
        x5[i].extend(x2[i])
        # [ [0, 0, 0, 1, 1, 1, 2, 2, 2], 
        #   [0, 0, 0, 1, 1, 1, 2, 2, 2], 
        #   [0, 0, 0, 1, 1, 1, 2, 2, 2] ]

		# 将x1、x2对应行向量添加到x6
        x6[i].append(x1[i])
        x6[i].append(x2[i])
        # [ [0, 0, 0, [1, 1, 1], [2, 2, 2] ], 
        #   [0, 0, 0, [1, 1, 1], [2, 2, 2] ], 
        #   [0, 0, 0, [1, 1, 1], [2, 2, 2] ]  ]

if __name__ == '__main__':
	test()