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数组的处理代码
Jan 04 Python
运动检测ViBe算法python实现代码
Jan 09 Python
解决Python2.7中IDLE启动没有反应的问题
Nov 30 Python
Python实现繁?转为简体的方法示例
Dec 18 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
深入了解python中元类的相关知识
Aug 29 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
pytorch中图像的数据格式实例
Feb 11 Python
利用Python脚本批量生成SQL语句
Mar 04 Python
在python里创建一个任务(Task)实例
Apr 25 Python
python 自动刷新网页的两种方法
Apr 20 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
基于PHPExcel的常用方法总结
2013/06/13 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
PHP中预定义的6种接口介绍
2015/05/12 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
javascript 动态创建表格
2015/01/08 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
Javascript 是你的高阶函数(高级应用)
2015/06/15 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
Angular实现下拉框模糊查询功能示例
2018/01/03 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
python微信公众号之关键词自动回复
2018/06/15 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
旅游专业职业生涯规划范文
2014/01/13 职场文书
写自荐信三大法宝
2014/01/24 职场文书
学生会部长竞聘书
2014/03/31 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
街道务虚会发言材料
2014/10/20 职场文书
长城导游词300字
2015/01/30 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers