a = [[1, 2, 3], [4, 5, 6]]
b = [[1, 2], [3, 4], [5, 6]]
def mult(m1, m2):
if len(m1[0]) != len(m2):
raise Exception('Matrices must be m*n and n*p to multiply!')
return map(lambda row: map(lambda col: sum(map(lambda (i,j):i*j,zip(row,col))), zip(*m2)), m1)
print mult(a, b)