python - 有没有一种简单的方法可以将 std::list<double> 转换为 Python 列表?

标签 python c stl

我正在用 C/C++ 编写一个小的 Python 扩展,我有一个像这样的函数:

void set_parameters(int first_param, std::list<double> param_list)
{
   //do stuff
}

我希望能够像这样从 Python 中调用它:

set_parameters(f_param, [1.0, 0.5, 2.1])

是否有一种相当简单的方法来进行这种转换?理想情况下,我想要一种不需要大量额外依赖项的方法,但如果没有额外的东西,有些事情是不可能的,所以这没什么大不了的。

最佳答案

看看Boost.Python . Iterators 中涵盖了您提出的问题教程章节

关键是,Boost.Python 提供了 STL_input_iterator 模板,将 Python 的 iterable 转换为 STL 的 input_iterator,可以用来填充你的 std::list。

关于python - 有没有一种简单的方法可以将 std::list<double> 转换为 Python 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1019457/

相关文章:

c++ - 我如何使用 C++ STL Sort 对具有继承的对象数组进行排序

python - 计算 Pandas 列中的重复次数

python - 使用 run_until_complete 运行时重试不起作用

c - fatal error : cannot execute 'as' : execvp: no such file or directory

c - 自由(): invalid next size (normal) while executing free

c++ - 在这种情况下,如何管理继承?

python - 在 python 中创建一个数据库,其中包含一个具有不同字段的表

python - 如何在 python 中提取同一类中的多个链接?

c - ANSI C 的可嵌入 VM 运行时

c++ - 使用带有 std::string 键和 int 键的 std::map 的成本?