我刚开始学习用Python编程,我正在尝试使用Scipy包构建一个稀疏矩阵。我发现有不同类型的稀疏矩阵,但它们都需要使用三个向量来存储,如row,col,data;或者如果你想分别对每个新条目,比如S(i,j)= s_ij,你需要启动给定大小的矩阵。
我的问题是,如果有一种方法可以在不需要初始大小的情况下按顺序存储矩阵,就像字典一样。
答案 0 :(得分:2)
您可以使用通常的字典和两个整数的元组作为索引。例如:
matrix = {}
matrix[5, 7] = 1
matrix[3, 8] = 5
答案 1 :(得分:2)
没有。 Scipy中的任何矩阵,稀疏或非稀疏,必须使用大小进行实例化。
答案 2 :(得分:0)
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()