[英]Cython: Fastest way to convert char value to string
我需要尽快将多个char值转换为相应的ASCII字符的字符串。 这是一个玩具示例。 我想要从Python环境调用的H()函数返回str'aaa'。
from libcpp.string cimport string
cdef string G():
return chr(97)
def H():
cdef string s
s.append(G())
s.append(G())
s.append(G())
return s
我相信,这不是最佳的变体,因为它使用python函数ord()将97装入python对象,然后返回char,将其装入另一个python对象str,最后将其转换为c ++字符串。 我怎样才能更快地进行转换?
找到了!
<string>chr(i)
可能被替换
string(1, <char>i)
这是新变体的示例:
cdef string G():
return string(1,<char>97)
def H():
cdef string s
s.append(G())
s.append(G())
s.append(G())
return s
新版本的运行速度提高了2倍。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.