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
是有一些方法如何將列表轉換爲C數組?
我已閱讀並嘗試過Cython - converting list of strings to char **但這隻會引發錯誤。
那麼這是一個很棒的答案!非常感謝,但現在是,行ret [i] = PyString_AsString(list_str [i])引發編譯期間從臨時Python值中獲取char * – Jendas
好吧,我的壞!我忘記了從cpython.string cimport PyString_AsString。現在它工作得很好!謝謝!! – Jendas