У меня есть записи (~ 88 миллионов людей) в следующем формате:быстрого поиска в питоне
userid age test value
111 33 SODIUM 140
111 34 POTASSIUM 4.1
333 65.4 CHLORIDE 107
444 24 BICARBONATE 24
мне нужно создать быстрый поиск для value
в последнем столбце приведен первый три пункта (т.е. . userid
, age
, test
).
Каков наилучший способ повторного поиска в этих данных? Я думаю, что это создать словарь, в котором keys
являются кортежем (userid
, age
, test
) и значениями являются value
. В прошлом я использовал подобный метод, и этот метод был очень медленным на гораздо меньших данных.
вы используете базу данных. НЕ загружайте 88 миллионов записей в память в python. это безумие/смехотворно. –
LOL ... Возможно http://docs.python.org/2/library/string.html#string.split – ASPiRE
Словари основаны на хеш-таблицах, которые примерно так же быстро, как и Python. Если это было слишком медленно для вас, вам нужен другой подход. Как говорит @MarcB, база данных более подходит для этого объема данных, но она будет еще медленнее. –