我正在使用C编写Python扩展。当列表作为参数传递时,如何填充C中的空列表,并且C函数不返回列表,而是返回不同的PyObject*
。
b=[]
a = c.populate(data=b)
print b
输出:
[1, 2, 3]
感谢您的帮助。感谢。
答案 0 :(得分:0)
您可以使用PyList_Append()
function将单个元素添加到现有的Python list
对象中:
将对象 item 附加到列表列表的末尾。如果成功,则返回
0
;返回-1
并在不成功时设置异常。类似于list.append(item)
。
或者,使用PyList_SetSlice()
扩展包含来自另一个list
对象的项目的列表:
将低和高之间的列表切片设置为 itemlist 的内容。类似于
list[low:high] = itemlist
。 项目列表可以是 NULL ,表示空列表的分配(切片删除)。成功时返回0
,失败时返回-1
。不支持从Python切片时的负索引。