我正在尝试使用自定义距离函数计算距离矩阵,该函数返回两个集合的交集的长度:
dist = lambda a, b: len(list(a & b))
到目前为止,我正在这样做,但是要花大量的时间,因为我要遍历的列表包含600,000多个项目。
row = []
col = []
data = []
for i, a in enumerate(l):
for j, b in enumerate(l):
if i<j:
d = dist(sample_dict[a], sample_dict[b])
if d!=0:
data.append(d)
row.append(i)
col.append(j)
M = scipy.sparse.csc_matrix((data, (row, col)))
有没有更有效的方法?