字典中的稀疏矩阵

时间:2011-06-10 17:38:58

标签: python scipy sparse-matrix

我刚开始学习用Python编程,我正在尝试使用Scipy包构建一个稀疏矩阵。我发现有不同类型的稀疏矩阵,但它们都需要使用三个向量来存储,如row,col,data;或者如果你想分别对每个新条目,比如S(i,j)= s_ij,你需要启动给定大小的矩阵。
我的问题是,如果有一种方法可以在不需要初始大小的情况下按顺序存储矩阵,就像字典一样。

3 个答案:

答案 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()