python - 关于如何设计数据结构的建议

标签 python algorithm data-structures

我有一个文件,我正在从中读取数据。 我需要有关如何设计执行以下操作的数据结构的建议: 因此,数据的形式为

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/

相关文章:

python - 使用 Python 和正则表达式查找字符串中的所有中文文本

algorithm - 说谎者之谜

c++ - 处理霍夫曼压缩/解压缩中的额外字节

c++ - 快速插入和快速搜索的正确数据结构?

python - 你如何遍历多边形中的点?

python - 使用python计算word docx中的行及其值

python - Pycharm 提示对 pytorch 的 nn.ModuleList 对象使用 [] 运算符

arrays - 二分搜索与二分搜索树

python - 协助矩阵求常数次方

java - 使 LinkedBinaryTree 可克隆