我有以下代码:
for i in range(len(known_embeddings["embeddings"])):
known_vec = known_embeddings["embeddings"][i]
vec = vec.reshape(-1, 1)
distance = cv2.norm(vec, known_vec)
print("name : {}, distance : {}".format(known_embeddings["names"][i], distance))
在上面的代码中,known_embeddings
是list的dict,它包含embeddings
和names
作为list。以上代码的输出为:
name : mark, distance : 0.8483050632128444
name : mark, distance : 0.8724386372273983
name : mark, distance : 0.7805887577479304
name : mark, distance : 1.1670809288281123
name : mark, distance : 0.7298390620115697
name : tom, distance : 0.8128083541249622
name : tom, distance : 1.1103164155361172
name : tom, distance : 1.0548001777991225
name : tom, distance : 1.265357138869811
name : tom, distance : 1.2954636861331879
其中每个名称都包含一个距离值。现在我想把上面的结果保存到一个dict of list中,或者可能是两个不同的list,以便以后比较两个名称的每个索引的值。我怎样才能把它保存在目录里。?谢谢
而不是以
试试这个:
我冒昧简化了你的代码。请试试这个:
因为同一个键(名称)有多个值(距离),所以我们需要将它们附加到一个列表中,而^{} 正是为了实现这一点而派上了用场,因为它可以用一个空列表初始化每个键,这样就可以安全地将值附加到列表中
相关问题 更多 >
编程相关推荐