Это зависит от того, написана ли уже ваша функция и не может быть изменена. В этом случае вам может понадобиться проверить документы Swig, чтобы увидеть, существует ли уже карта типов из PyList в std :: vector (я думаю, что она есть). Если нет, то взятие PyObject * в качестве аргумента функции и использование Python C API для управления списками должно работать нормально. У меня до сих пор не было проблем с этим. Для самостоятельного документирования я рекомендую typedef'у PyObject * для некоторого ожидаемого типа, такого как "PythonList", чтобы параметры имели некоторое значение.
Это также может быть полезно:
Как представить std :: vector в виде списка Python, используя SWIG?