Существует взаимно однозначное соотношение между каждыми двумя столбцами таблицы, например Ci <--> Cj
.Как сохранить таблицу отношений один-к-одному для быстрого поиска в Python?
Как хранить такой стол для быстрого поиска? Я четко выскажусь со следующим фрагментом кода.
C1 = [1, 2, 3, 4]
C2 = ['a', 'b', 'c', 'd']
C3 = ['one', 'two', 'three', 'four']
# lookup, Ci --> Cj
idx = Ci.index(val)
corresponding_val = Cj[idx]
Dict будет хорошим выбором. Возьмем таблицу с двумя столбцами в качестве примера, сохраните таблицу как dict, скажем d[C1] = C2
. Требуется O(1)
от C1
до C2
. Но от C2
до C1
это займет больше времени.
Как насчет наличия двух диктонов, по одному для каждого пути? Или диктат, который имеет каждую взаимосвязь дважды, по-разному? – ddsnowboard
@ddsnowboard, он работает для двух столбцов. Но для столбцов * n * нам нужно * n * (n-1) * dicts. – SparkAndShine