Python實現(xiàn)矩陣加法和乘法的方法分析
本文實例講述了Python實現(xiàn)矩陣加法和乘法的方法。分享給大家供大家參考,具體如下:
本來以為python的矩陣用list表示出來應該很簡單可以搞。。其實發(fā)現(xiàn)有大學問。
這里貼出我寫的特別不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相關內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設計有所幫助。
- Python矩陣常見運算操作實例總結(jié)
- Python中矩陣創(chuàng)建和矩陣運算方法
- Python實現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運算示例
- python實現(xiàn)矩陣乘法的方法
- Python 稀疏矩陣-sparse 存儲和轉(zhuǎn)換
- Python使用稀疏矩陣節(jié)省內(nèi)存實例
- python中numpy的矩陣、多維數(shù)組的用法
- Python實現(xiàn)矩陣轉(zhuǎn)置的方法分析
- Python中shape計算矩陣的方法示例
- Python numpy中矩陣的基本用法匯總
- python簡單實現(xiàn)矩陣的乘,加,轉(zhuǎn)置和逆運算示例
相關文章
Python調(diào)用系統(tǒng)命令os.system()和os.popen()的實現(xiàn)
這篇文章主要介紹了Python調(diào)用系統(tǒng)命令os.system()和os.popen()的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12Python的Flask框架與數(shù)據(jù)庫連接的教程
這篇文章主要介紹了Python的Flask框架與數(shù)據(jù)庫連接的教程,是Flask框架學習當中的基本知識,需要的朋友可以參考下2015-04-04

在python中創(chuàng)建指定大小的多維數(shù)組方式

Python將string轉(zhuǎn)換到float的實例方法