7
Имея следующий гипотетический код:Быстрый массив строк - Cython
cdef extern from "string.h":
int strcmp(char* str1, char* str2)
def foo(list_str1, list_str2):
cdef unsigned int i, j
c_arr1 = ??
c_arr2 = ??
for i in xrange(len(list_str1)):
for j in xrange(len(list_str2)):
if not strcmp(c_arr1[i], c_arr2[j]):
do some funny stuff
есть какой-то способ, как конвертировать списки в С массивами?
Я прочитал и попробовал Cython - converting list of strings to char **, но это только порождает ошибки.
Ну, это замечательный ответ! Большое спасибо за это, но теперь дело в том, что строка ret [i] = PyString_AsString (list_str [i]) повышает получение char * из временного значения Python во время компиляции – Jendas
Хорошо, мое плохое! Я забыл от cpython.string cimport PyString_AsString. Теперь все работает отлично! Спасибо!! – Jendas