最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運算示例

 更新時間:2019年03月26日 11:19:11   作者:Johnny丶me  
這篇文章主要介紹了Python實現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運算,結(jié)合實例形式分析了Python針對矩陣進行轉(zhuǎn)置與相乘運算的相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運算。分享給大家供大家參考,具體如下:

矩陣轉(zhuǎn)置

方法一 :使用常規(guī)的思路

def transpose(M):
  # 初始化轉(zhuǎn)置后的矩陣
  result = []
  # 獲取轉(zhuǎn)置前的行和列
  row, col = shape(M)
  # 先對列進行循環(huán)
  for i in range(col):
    # 外層循環(huán)的容器
    item = []
    # 在列循環(huán)的內(nèi)部進行行的循環(huán)
    for index in range(row):
      item.append(M[index][i])
    result.append(item)
  return result

思路:矩陣的轉(zhuǎn)置就是從行變成列, 列變成行

  • 先定義一個最終存放矩陣的容器
  • 先對列進行循環(huán)i,并定義一個臨時數(shù)組用于存放數(shù)據(jù),在每次列的循環(huán)內(nèi)部,再次對行進行循環(huán)j,取第M[j][i]個元素存入一個臨時數(shù)組中
  • 在每次列循環(huán)完畢,將臨時數(shù)組存入最終數(shù)組中
  • 當列循環(huán)完畢, 最終數(shù)組就是矩陣的轉(zhuǎn)置

方法二:使用zip解包

def transpose(M):
  # 直接使用zip解包成轉(zhuǎn)置后的元組迭代器,再強轉(zhuǎn)成list存入最終的list中
  return [list(row) for row in zip(*M)]

思路:

zip 解包后,返回一個將多個可迭代對象組合成一個元組序列的迭代器,正如:

my_zip = list(zip(['a', 'b', 'c'], [1, 2, 3]))
print(my_zip) # [('a', 1), ('b', 2), ('c', 3)]

在每次循環(huán)中將元組強轉(zhuǎn)成list 并存入總list中

矩陣相乘

def matrixMultiply(A, B):
  # 獲取A的行數(shù)和列數(shù)
  A_row, A_col = shape(A)
  # 獲取B的行數(shù)和列數(shù)
  B_row, B_col = shape(B)
  # 不能運算情況的判斷
  if(A_col != B_row):
    raise ValueError
  # 最終的矩陣
  result = []
  # zip 解包后是轉(zhuǎn)置后的元組,強轉(zhuǎn)成list, 存入result中
  BT = [list(row) for row in zip(*B)]
  # 開始做乘積運算
  for A_index in range(A_row):
    # 用于記錄新矩陣的每行元素
    rowItem = []
    for B_index in range(len(BT)):
      # num 用于累加
      num = 0
      for Br in range(len(BT[B_index])):
        num += A[A_index][Br] * BT[B_index][Br]
      # 累加完成后,將數(shù)據(jù)存入新矩陣的行中
      rowItem.append(num)
    result.append(rowItem)
  return result

說明: A矩陣與B矩陣的乘法運算,最終得到新的矩陣X , 思路

  • 首先判斷是否可以相乘:前提條件是A的列與B的行要相同
  • 我們可以畫圖理解:假如A是3行5列,B是5行2列,相乘結(jié)果是3行2列
  • 將B轉(zhuǎn)置后是2行5列,我們稱之為BT, 這樣 A 和 BT 都是5列了
  • 則A的每行中的第 i 個元素 * BT每行中的第 i 個元素,相加構(gòu)成新矩陣X的新行,循環(huán)A行,共3行,則新矩陣X就會逐步添加新行,待循環(huán)完畢,得到新矩陣X

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python?multiprocessing?共享對象的示例代碼

    Python?multiprocessing?共享對象的示例代碼

    在 Python 中使用 multiprocessing,一個新的進程可以獨立運行并擁有自己的內(nèi)存空間,下面通過示例代碼講解Python multiprocessing共享對象的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • pandas學(xué)習(xí)之txt與sql文件的基本操作指南

    pandas學(xué)習(xí)之txt與sql文件的基本操作指南

    Pandas是Python的第三方庫,提供高性能易用的數(shù)據(jù)類型和分析工具,下面這篇文章主要給大家介紹了關(guān)于pandas學(xué)習(xí)之txt與sql文件的基本操作指南,需要的朋友可以參考下
    2021-08-08
  • 教你用python實現(xiàn)一個無界面的小型圖書管理系統(tǒng)

    教你用python實現(xiàn)一個無界面的小型圖書管理系統(tǒng)

    今天帶大家學(xué)習(xí)怎么用python實現(xiàn)一個無界面的小型圖書管理系統(tǒng),文中有非常詳細的圖文解說及代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • pandas修改DataFrame列名的實現(xiàn)方法

    pandas修改DataFrame列名的實現(xiàn)方法

    這篇文章主要介紹了pandas修改DataFrame列名的實現(xiàn)方法, 文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • python opencv檢測直線 cv2.HoughLinesP的實現(xiàn)

    python opencv檢測直線 cv2.HoughLinesP的實現(xiàn)

    cv2.HoughLines()函數(shù)是在二值圖像中查找直線,本文結(jié)合示例詳細的介紹了cv2.HoughLinesP的用法,感興趣的可以了解一下
    2021-06-06
  • python logging重復(fù)記錄日志問題的解決方法

    python logging重復(fù)記錄日志問題的解決方法

    python的logging模塊是python使用過程中打印日志的利器,下面這篇文章主要給大家介紹了關(guān)于python logging重復(fù)記錄日志問題的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-07-07
  • Python實現(xiàn)復(fù)制圖片到指定文件夾并按順序重新命名

    Python實現(xiàn)復(fù)制圖片到指定文件夾并按順序重新命名

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)將360個文件夾里的照片,全部復(fù)制到指定的文件夾中,并且按照順序重新命名,感興趣的小伙伴可以了解一下
    2023-03-03
  • 詳解python中absl包的使用

    詳解python中absl包的使用

    "absl" 是 Google 開發(fā)的一個 Python 軟件包,用于提供一些常見的 Python 編程功能和工具,以改善代碼的可讀性、可維護性和性能,下面我們就來看看absl包的具體使用吧
    2023-11-11
  • Python?Flask實現(xiàn)圖片上傳與下載的示例詳解

    Python?Flask實現(xiàn)圖片上傳與下載的示例詳解

    這篇文章主要為大家詳細介紹了如何利用Python和Flask實現(xiàn)圖片上傳與下載(支持漂亮的拖拽上傳),文中示例代碼講解詳細,感興趣的可以了解一下
    2022-05-05
  • Python特殊屬性property原理及使用方法解析

    Python特殊屬性property原理及使用方法解析

    這篇文章主要介紹了Python特殊屬性property原理及使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10

最新評論

南平市| 大荔县| 和龙市| 金秀| 汉寿县| 凤庆县| 神木县| 湘西| 新巴尔虎左旗| 杭锦旗| 辛集市| 大化| 中方县| 那坡县| 兖州市| 汾阳市| 比如县| 招远市| 莫力| 英德市| 河南省| 宣恩县| 阿荣旗| 禄丰县| 克山县| 青川县| 伊金霍洛旗| 鄂温| 遂昌县| 察隅县| 丰县| 吴川市| 秀山| 昆山市| 中方县| 长白| 无锡市| 丹棱县| 读书| 鹰潭市| 平果县|