Cython将python数组转换为vector [char]

在python中,我调用了calculate文件中的pyx函数,然后调用了其他cdef函数。

python函数:

def getcoord():
   array = ['A','B','C','D']
   px = 5
   py = 6
   move = pyxFile.calculateCoord( array,x,y )

pyx函数:

def calculateCoord( array,px,py):
   cdef vector[ char ] b

   for i in range( len( array) ):
      b.push_back( array[ i ] )

   return search( b,py )

我正在尝试将python字符数组传递给vector[char],以便在我的cdef函数中使用,但是我的错误是an integer is requiredb.push_back( array[ i ] )

xy是整数

search(一个cdef函数)返回一个整数元组

x164695535 回答:Cython将python数组转换为vector [char]

您的输入是长度为1的字符串,而不是char。我知道这看起来应该是相同的,但事实并非如此。

您可以使用ord来获取长度为1的字符串的整数值:

  b.push_back( ord(array[ i ]) )
本文链接:https://www.f2er.com/3109673.html

大家都在问