本文介绍Python2中的生成矩阵的方法
1》借助于内置函数range()和for循环

def makeMatrix(row_num,column_num,start=0,step=1): 

     matrix=[] 

     row=[] 

     for i in range(row_num): 

         for j in range(column_num): 

             row.append(start) 

             start+=step 

         matrix.append(row) 

         row=[] 

     return matrix 

 M=makeMatrix(3,4) # 起始位置和步长取默认值 

 print M


运行结果,如下:

[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]] 



 M=makeMatrix(3,4,10,2) # 指定起始位置和步长 

 print M


运行结果如下:

[[10, 12, 14, 16], [18, 20, 22, 24], [26, 28, 30, 32]]




2》由一个元组(或列表)生成矩阵

def tuple2Matrix(t,row_num,column_num): 

     row=[] 

     row_count=0 

     count=0 

     for x in t: 

         row.append(x) 

         count+=1 

         if count%column_num==0: #判断是否填满了一行 

             yield row 

             row=[] 

             row_count+=1 

         if row_count==row_num: #达到要求的行数,就结束循环 

             break 



 matrix=[] 

 t=(1,2,3,4,5,6,7,8,9,10,11,12,13,14) 

 for r in tuple2Matrix(t,2,4): 

     matrix.append(r) 

 print matrix



运行结果如下:

[[1, 2, 3, 4], [5, 6, 7, 8]]