Python实现矩阵加法和乘法的方法分析


Posted in Python onDecember 19, 2017

本文实例讲述了Python实现矩阵加法和乘法的方法。分享给大家供大家参考,具体如下:

本来以为python的矩阵用list表示出来应该很简单可以搞。。其实发现有大学问。

这里贴出我写的特别不pythonic的矩阵加法,作为反例。

def add(a, b):
   rows = len(a[0])
   cols = len(a)
   c = []
   for i in range(rows):
     temp = []
     for j in range(cols):
       temp.append(a[i][j] + b[i][j])
     c.append(temp)
   return c

然后搜索了一下资料,果断有个很棒的,不过不知道有没有更棒的。

矩阵加法

def madd(M1, M2):
  if isinstance(M1, (tuple, list)) and isinstance(M2, (tuple, list)):
    return [[m+n for m,n in zip(i,j)] for i, j in zip(M1,M2)]

矩阵乘法

def multi(M1, M2):
  if isinstance(M1, (float, int)) and isinstance(M2, (tuple, list)):
    return [[M1*i for i in j] for j in M2]
  if isinstance(M1, (tuple, list)) and isinstance(M2, (tuple, list)):
    return [[sum(map(lambda x: x[0]*x[1], zip(i,j)))
         for j in zip(*M2)] for i in M1]

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
Python获取央视节目单的实现代码
Jul 25 Python
总结python爬虫抓站的实用技巧
Aug 09 Python
Django 实现购物车功能的示例代码
Oct 08 Python
基于python实现名片管理系统
Nov 30 Python
python画柱状图--不同颜色并显示数值的方法
Dec 13 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
Oct 15 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
分析python切片原理和方法
Dec 19 #Python
python实现redis三种cas事务操作
Dec 19 #Python
Python2/3中urllib库的一些常见用法
Dec 19 #Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 #Python
Python random模块用法解析及简单示例
Dec 18 #Python
Python方法的延迟加载的示例代码
Dec 18 #Python
Python字符串拼接六种方法介绍
Dec 18 #Python
You might like
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
关于php循环跳出的问题
2013/07/01 PHP
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
2014/01/07 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
js+css实现打字效果
2020/06/24 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
Python实现打印实心和空心菱形
2019/11/23 Python
Python数据存储之 h5py详解
2019/12/26 Python
Python内置异常类型全面汇总
2020/05/28 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
质检部部长职责
2013/12/16 职场文书
应届毕业生求职信范文分享
2013/12/26 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
环保守法证明
2015/06/24 职场文书
Win11 BitLocker 驱动器加密
2022/04/19 数码科技