我有一个文件,我正在从中读取数据。 我需要有关如何设计执行以下操作的数据结构的建议: 因此,数据的形式为
id_1::id_2::similiarity_score
现在,虽然数据是这种形式,但这也意味着
id_2::id_1::same_similiarity_Score
所以,我想要的是一个在程序中使用的数据结构。 假设我想使用这些数据来查找哪两个项目相似
object.maxSimiliarity(object_id_1)
returns object_id_2 # has max score
但是这个object_id_1也可以在数据库的product_id_2列中...
因此在数据库中可以采用以下任一形式:
object_id_1:: object_id_2::score
or object_id2::object_id_1::score
所以我想以这样的方式设计这个数据结构
k_1, k_2:: value <--> k_2,k_1::value
最佳答案
处理此类事情的一般技巧是找到规范化 - 将特定类的所有成员映射到同一对象的函数。在这种情况下,您可以通过对前两个组件进行排序来实现此目的,这会将 B::A::Score 转换为 A::B::Score,同时保持 A::B::Score 不变。
关于python - 关于如何设计数据结构的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8216117/