我剛開始學習使用Python進行編程,並試圖使用Scipy包構造一個稀疏矩陣。我發現有不同類型的稀疏矩陣,但它們都需要使用三個向量,如行,列,數據來存儲;或者如果你想分別爲每個新條目,如S(i,j)= s_ij,則需要啓動給定大小的矩陣。
我的問題是如果有一種方法來存儲矩陣入門,而不需要像字典一樣的初始大小。詞典中的稀疏矩陣
詞典中的稀疏矩陣
回答
您可以使用具有兩個整數元組的普通字典作爲索引。例如:
matrix = {}
matrix[5, 7] = 1
matrix[3, 8] = 5
不可以。Scipy中的任何矩陣,稀疏與否,必須用大小實例化。
謝謝你的回答。我終於意識到,我需要分兩步存儲矩陣,一個用於讀取所有數據,另一個用於存儲,無論採用哪種方法。但現在我對這個程序很滿意。 – Diego 2011-06-12 01:35:45
不客氣。是的,這工作正常。也許你可以使用'max'來快速找到最大的索引。 – 2011-06-12 04:37:03
dic={}
a,b=int(input("Enter the order:")),int(input())
for i in range(a):
for j in range(b):
c=int(input())
if c!=0:
dic[(i,j)]=c
if len(dic)<=(a+b)/2:
print("sparse metrix")
else:
print("non sparse metrix")
for i in range(a):
for j in range(b):
print(dic.get((i,j),0),end=" ")
print()
我希望這段代碼能幫助你。 – 2016-11-29 02:28:00
請解釋答案,而不是僅僅發佈一個解決方案「我們不是代碼寫作服務」,這樣對未來的其他人也有好處 – 2016-11-29 02:46:13
- 1. 稀疏矩陣
- 2. 稀疏矩陣和矩陣
- 3. Numba中的稀疏矩陣
- 4. 以稀疏矩陣
- 5. 50Kx50K稀疏矩陣
- 6. 稀疏三元組稀疏矩陣matlab
- 7. 將字典轉換爲稀疏矩陣
- 8. 確定稀疏矩陣的稀疏性(Lil矩陣)
- 9. python稀疏矩陣的矩陣功率
- 10. 98%稀疏矩陣的矩陣完成
- 11. 稀疏矩陣的劃分
- 12. R矩陣包:Demean稀疏矩陣
- 13. 稀疏矩陣 - 矩陣乘法
- 14. 稀疏矩陣子集密集矩陣
- 15. 組合矩陣和稀疏矩陣
- 16. 連續稀疏矩陣Eigen
- 17. 反相稀疏矩陣
- 18. 稀疏矩陣內存
- 19. 切片稀疏(scipy)矩陣
- 20. scipy稀疏矩陣分裂
- 21. 點產品稀疏矩陣
- 22. java稀疏矩陣問題
- 23. 稀疏矩陣命令
- 24. 朱莉婭稀疏矩陣
- 25. 反向稀疏矩陣
- 26. 轉身稀疏矩陣
- 27. OpenACC - 稀疏矩陣庫
- 28. 多稀疏矩陣與SQL
- 29. scipy稀疏矩陣索引
- 30. R稀疏矩陣電源
你不需要圍繞元組的括號 – JBernardo 2011-06-11 03:45:37
謝謝你的回答。我最初將條目保存爲字典,但最終我需要稀疏結構來執行計算,而這正是我之前嘗試在一個步驟中所做的。 我確實發現沒有辦法解決這個問題。 – Diego 2011-06-12 01:29:56
由於JBernardo指出'矩陣[5,7] = 1'更簡潔,但並不明確 – hobs 2013-12-26 00:02:38