Я работаю над проектом по оптимизации алгоритма, который содержит огромный цикл for, но должен вызываться в Python, поэтому я использую инструмент scipy weave. Одна из строк кода у меня есть в Python:
if entry not in a_set:
#do something
Я хочу по-прежнему иметь постоянное время поиска, как набор, поэтому я собирался использовать словарь, чтобы ускорить время поиска. Мне нужно выполнить ту же функциональность в моем коде C ++. Я должен передать набор в качестве аргумента.
Это единственный способ сделать это с помощью диктанта (py::dict
)? И если да, то как мне вызвать функцию containskey (key) во встроенном коде C? Нужно ли использовать вызов Python, чтобы иметь эту функциональность?
Есть ли другой способ / структура данных, которую я мог бы использовать, как указано в Scipy Weave?
Ссылка, на которой я основываюсь, такова: https://github.com/scipy/scipy/blob/master/scipy/weave/doc/tutorial.txt
Задача ещё не решена.
Других решений пока нет …