检查是否存在scipy稀疏矩阵条目

时间:2013-12-13 22:53:09

标签: python scipy sparse-matrix

我使用

初始化一个空的稀疏矩阵
S = scipy.sparse.lil_matrix((n,n),dtype=int)

正如预期print S没有显示任何内容,因为没有分配任何内容。 但如果我测试:

print S[0,0]==0

我收到true

有没有办法测试之前是否设置了值?例如。沿着ifempty

的路线

1 个答案:

答案 0 :(得分:1)

您可以使用

检查存储的值
def get_items(s):
    s_coo = s.tocoo()
    return set(zip(s_coo.row, s_coo.col))

演示:

>>> n = 100
>>> s = scipy.sparse.lil_matrix((n,n),dtype=int)
>>> s[10, 12] = 1
>>> (10, 12) in get_items(s)
True

注意,对于其他类型的稀疏矩阵,0可以设置为:

>>> s = scipy.sparse.csr_matrix((n,n),dtype=int)
>>> s[12, 14] = 0
>>> (12, 14) in get_items(s)
True