2 回答

TA贡献1802条经验 获得超5个赞
根据评论,您可以使用 enumerate 这相当于
zip( range( len(vec)), vec)
去做这个:
f = open('contact.txt', 'w')
for n1, i in enumerate(distance_matrix):
for n2 ,j in enumerate(i):
if j <= radius:
if j != 0:
f.write(str(j) + '\n')
print("File contact.txt written")
其中 n1 和 n2 是您的索引

TA贡献1890条经验 获得超9个赞
你可以使用np.where
indices = np.where((distance_matrix <= radius) & (distance_matrix != 0))
row_col_vals = list(zip(*indices, distance_matrix[indices])) # gives you a list or (row, col, value) tuples
例如,如果radius = 5和
distance_matrix = np.array([[2, 6], [0, 3]])
然后
row_col_vals = [(0, 0, 2), (1, 1, 3)]
写入文件:
f = open('contact.txt', 'w')
for row, col, val in row_col_vals:
print(row, col, val, file=f)
f.close()
哈。
添加回答
举报