python 核心编程 第六章 习题16 矩阵加法和乘法

本文提供了一种使用Python进行矩阵加法及乘法运算的方法。通过定义两个函数:mar_add用于矩阵相加,mar_multiply用于矩阵相乘,实现了基本的矩阵运算逻辑。示例中展示了如何对两个不同维度的矩阵进行乘法运算。
很简单,但是写的有点复杂感觉,有没有朋友有简单一些的方法,还请不吝赐教~微笑
#!/usr/bin/python 

def mar_add(list1,list2):
	m = len(list1)
	n = len(list1[0])
	if m!= len(list2):
		print "error ! two list must have same dimson"
		return 
	if n!= len(list2[0]):
		print "error ! two list must have same dimson"
		return 
	new_list = []

	for i in range(m):
		new_list.append([])
		for j in range(n):
			new_list[i].append(list1[i][j] + list2[i][j])
	
	return new_list

def mar_multiply(list1,list2):
	m = len(list1)
	k = len(list1[0])
	n = len(list2[0])

	if k != len(list2):
		print "error ! dimension error !"
		return 
	new_list = []
	for i in range(m):
		new_list.append([])
		for j in range(n):
			new_list[i].append(0)
			for x in range(k):
				new_list[i][j] += list1[i][x] * list2[x][j]
	
	return new_list



if __name__ == "__main__":
	list1 = [[1,2],[0,1],[2,3],[5,6]]
	list2 = [[0,1,2],[1,1,0]]

	print mar_multiply(list1,list2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值