python - 如何在 Cython 中构建元组?

标签 python arrays numpy cython cpython

我是 cython 的新手,我只是在寻找一种简单的方法将 numpy 数组转换为元组,然后可以将其添加到字典和/或在字典中查找。

在 CPython 中,我可以使用 PyTuple_New 并迭代数组的值(将每个值添加到元组中,就好像我将它们附加到列表中一样)。

Cython 似乎没有附带通常的 CPython 函数。我如何转动数组:

array([1,2,3])

成一个元组:

(1, 2, 3)

最佳答案

Cython 是 Python 的超集,因此任何有效的 Python 代码都是有效的 Cython 代码。在这种情况下,如果您有一个 NumPy 数组,只需将它传递给 tuple 类构造函数就可以正常工作(就像您在常规 Python 中所做的那样)。

a = np.array([1, 2, 3])
t = tuple(a)

Cython 将负责将这些构造转换为适当的 C 函数调用。

关于python - 如何在 Cython 中构建元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18795489/

相关文章:

python - 移位和零填充子列表,导致我不明白的操作/广播运行时错误

python - OpenCV, cv2.approxPolyDP() 在闭合轮廓上绘制双线

python - 使用 Dataflow 进行图像预处理

c++ - 聚会请柬

javascript - 如何动态遍历 JSON 数据并进行更改..?

python - numpy 掩码数组的高效内存使用

python - Google Roads API - HTTP 错误 403 : Forbidden

python - 尝试播种 YAML 数据时出现 "value must be an integer"

c++ - 我将如何覆盖打印的二维数组以模拟 'updates'

python - 从 numpy 数组的一列中减去