python實(shí)現(xiàn)由數(shù)組生成對(duì)稱(chēng)矩陣
在實(shí)際應(yīng)用中,經(jīng)常會(huì)遇上這樣的小需求:根據(jù)一段給定的數(shù)組,生成由這一段數(shù)組值構(gòu)成的對(duì)稱(chēng)矩陣。
例如,給定數(shù)組[1,2,3,4,5,6,7,8,9,10],要求生成如下的矩陣:
[[0,1,2,3,4], [1,0,5,6,7], [2,5,0,8,9], [3,6,8,0,10], [4,7,9,10,0]]
其中,對(duì)角元全為0,該類(lèi)型的矩陣完全由給定的數(shù)組決定。
筆者給出實(shí)現(xiàn)以上功能的一種python參考代碼如下:
def semi_to_full(m): import numpy as np n = len(m) n_matrix = int((1+int((1+8*n)**0.5))/2) semi_matrix = np.zeros((n_matrix,n_matrix),dtype='int32') start_index = 0 for row in range(n_matrix-1): end_index = start_index+(n_matrix-1-row) semi_matrix[row,row+1:]=m[start_index:end_index] start_index = end_index full_matrix = semi_matrix+semi_matrix.T return full_matrix
代碼邏輯如此:先得到數(shù)組長(zhǎng)度以推定出所欲生成矩陣的規(guī)格,接著按照數(shù)組值的順序生成矩陣的上對(duì)角元,最后利用對(duì)稱(chēng)性完成整個(gè)矩陣輸出。
該函數(shù)參數(shù)只有一個(gè),即給定的numpy數(shù)組。
到此這篇關(guān)于python實(shí)現(xiàn)由數(shù)組生成對(duì)稱(chēng)矩陣的文章就介紹到這了,更多相關(guān)由數(shù)組生成對(duì)稱(chēng)矩陣內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python 實(shí)現(xiàn)將數(shù)組/矩陣轉(zhuǎn)換成Image類(lèi)
- python中數(shù)組和矩陣乘法及使用總結(jié)(推薦)
- python中numpy的矩陣、多維數(shù)組的用法
- python矩陣轉(zhuǎn)換為一維數(shù)組的實(shí)例
- 對(duì)Python 中矩陣或者數(shù)組相減的法則詳解
- Python3 列表,數(shù)組,矩陣的相互轉(zhuǎn)換的方法示例
- python 解決print數(shù)組/矩陣無(wú)法完整輸出的問(wèn)題
- python數(shù)組轉(zhuǎn)換為矩陣的方法實(shí)現(xiàn)
相關(guān)文章
python基于opencv檢測(cè)程序運(yùn)行效率
這篇文章主要介紹了python基于opencv檢測(cè)程序運(yùn)行效率,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python中字符串轉(zhuǎn)換為列表的常用方法總結(jié)
本文將詳細(xì)介紹Python中將字符串轉(zhuǎn)換為列表的八種常用方法,每種方法都具有其獨(dú)特的用途和適用場(chǎng)景,文中的示例代碼講解詳細(xì),感興趣的可以了解下2023-11-11K最近鄰算法(KNN)---sklearn+python實(shí)現(xiàn)方式
今天小編就為大家分享一篇K最近鄰算法(KNN)---sklearn+python實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02ubuntu安裝sublime3并配置python3環(huán)境的方法
這篇文章主要介紹了ubuntu安裝sublime3并配置python3環(huán)境的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03簡(jiǎn)單談?wù)凱ython中的反轉(zhuǎn)字符串問(wèn)題
本文給大家總結(jié)了5種可以實(shí)現(xiàn)python中反轉(zhuǎn)字符串的方法,非常的實(shí)用,有需要的小伙伴可以參考下2016-10-10Python人工智能深度學(xué)習(xí)模型訓(xùn)練經(jīng)驗(yàn)總結(jié)
這篇文章主要為大家介紹了Python人工智能深度學(xué)習(xí)模型訓(xùn)練的經(jīng)驗(yàn)總結(jié)及建議,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11