def matrixmult (matA, matB): if len (matA) != len (matB[0]) or len (matA[0]) != len(matB): return None result = list () for x in range (0, len (matA)): result.append (list ()) for y in range (0, len (matA[0])): result[x].append (sum (matA[x]) * sum ([row[y] for row in matB])) return result mat1 = ((0,1,2),(3,4,5),(6,7,8)) mat2 = ((9,8,7),(6,5,4),(3,2,1)) print mat1 print mat2 print matrixmult (mat1, mat2)