本文共 830 字,大约阅读时间需要 2 分钟。
本文介绍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]]
关于Python中 yield 的使用,参考:
转载地址:http://vdyai.baihongyu.com/