我是 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/