c++中怎样读取python字典,获得字典中的key值(一个key中有多个值)和value值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中怎样读取python字典,获得字典中的key值(一个key中有多个值)和value值?相关的知识,希望对你有一定的参考价值。

比如python中的字典为:node=(‘a’,‘b’):‘1q’,(‘b’,‘c’):‘2q’,(‘c’,‘d’):‘3q’
怎样将python中PyObject 类型转换成c++中string类型?PyString_AsString只能转换key中只有一个值的,一个key中有多个值就会出错。用PyString_AS_STRING转换会出现乱码,求解?

参考技术A 因为这本身就不是字符串啊.你可以约定好,在python脚本中将参数先转换成str,然后C接口这边也接受字符串入参.追问

这怎么弄啊?在python脚本中将参数先转换成str?求解?

参考技术B 那是当然。只有一个值这是标准用法。其实没有必要用多个值作为KEY啊。你可以简单的用str(('b','c'))把它变成一个KEY。这样就可以了。追问

这怎么弄啊?菜鸟不懂,求解!

追答

我的意思与管家光的意思一样。就是你先在python端将KEY值转成字符串类型的。这样C语言就容易处理了。
通过str(('b','c'))将键值('b','c')转换成一个KEY

顺便说一下,既然你想学习python与C++接口,就要知道这个接口很麻烦。通常我们将python编程习惯尽量改成C++习惯后再做接口。

C++只是为了提高某些计算的效率。所以并不是为了接口而接口。 比如我们通常在python端将所有的数据结构类型转换成固定类型数组和字符串,然后转到C++这边处理。

以上是关于c++中怎样读取python字典,获得字典中的key值(一个key中有多个值)和value值?的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能只读取我的字典的一个值?

python列表里面有字典,该怎么读取字典中的value

快速读取所有 csv 文件并更新共享字典

在 C++ 中存储数据,如 python 中的字典

python学习之数据类型—字典dict

python面试题