我需要在 python 中表示一对一的关系。
最简单的方法是拥有一个元组列表。[(thing_one, thing_two]
. 但这会给你 O(N) 的翻译/删除/插入时间。不理想。
接下来你可以使用两个字典
one_to_two
, two_to_one
. 这将使您获得 O(1) 翻译/插入/删除。但是很容易忘记在没有另一个的情况下更新一个,并且您现在需要将表示这种关系的内存量增加一倍。您可以将其包装在一个类中以强制执行双射,但您仍然无法解决信息重复问题。
有没有一种很好的方式来表示这样的关系?最好使用 O(1) 操作且没有数据重复?也许是一个为你处理这个的python模块?