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抓取网页时字符集转换问题处理方案分享
Jun 19 Python
python操作redis方法总结
Jun 06 Python
python实现Dijkstra静态寻路算法
Jan 17 Python
对Python Pexpect 模块的使用说明详解
Feb 14 Python
TensorFlow实现简单的CNN的方法
Jul 18 Python
Python操作qml对象过程详解
Sep 26 Python
Python Lambda函数使用总结详解
Dec 11 Python
python中threading开启关闭线程操作
May 02 Python
python实现mask矩阵示例(根据列表所给元素)
Jul 30 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 Python
基于tensorflow权重文件的解读
May 26 Python
Python中requests库的用法详解
Jun 05 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
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
提交表单时执行func方法实现代码
2013/03/17 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
python中的set实现不重复的排序原理
2018/01/24 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
Python 切分数组实例解析
2019/11/07 Python
py-charm延长试用期限实例
2019/12/22 Python
python 模拟登陆github的示例
2020/12/04 Python
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
大学生学习党课思想汇报
2014/01/03 职场文书
企业军训感言
2014/02/08 职场文书
代理协议书
2014/04/22 职场文书
优秀团干部个人事迹
2014/05/29 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
小学教师党员承诺书
2015/04/27 职场文书
婚庆司仪开场白
2015/05/29 职场文书
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript