gpt4 book ai didi

Python C API : Problems trying to build a dictionary

转载 作者:行者123 更新时间:2023-12-05 01:42:35 25 4
gpt4 key购买 nike

我正在尝试使用 C API 构建 Python 字典,但似乎无法(Py_BuildValue 返回 NULL 对象)使用 PyObject* 作为值。我有如下情况:

#include <python3.5/Python.h>
...
PyObject *myList = PyList_New(1);
PyList_SetItem(myList, 0, Py_BuildValue("i", 1));
dict = Py_BuildValue("{siso}",
"anInt", myInt,
"aList", mylist);

我正在寻找一种适用于列表的通用大小的解决方案。我在 official documentation 中没有找到任何相关信息还用谷歌搜索了几个小时。有人可以帮我吗?提前致谢

最佳答案

您使用的格式规范有误。 Here是一个例子。

因此,为了构建字典,您可以这样做:

int a_c_int; // 1
PyObject *a_python_list; // [1]
// ...
Py_BuildValue("{s:i,s:O}", # note the capital O ;)
"abc", a_c_int,
"def", a_python_list);

返回 python 字典

{'abc': 1, 'def': [1]}

关于Python C API : Problems trying to build a dictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51632300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com